首页 > 中学考试杂题 > 题目详情
用C#计算卷积我自己做了一个:public Complex[] Convolution(Complex[] X,doub
题目内容:
用C#计算卷积
我自己做了一个:
public Complex[] Convolution(Complex[] X,double[] Y)
{
int L = X.Length + Y.Length - 1;
Complex[] CmpData = new Complex[L];
for (int i = 0; i < L; i++)
{
Complex P = new Complex();
CmpData[i] = new Complex();
for (int m = 0; m < X.Length; m++)
{
if ((m < i | m == i) & (i - m) < Y.Length)
{
P = X[m] * Y[i - m];
CmpData[i] += P;
}
}
}
return CmpData;
}
但是总觉得有问题啊,我在做基于TETRA的信号调制,
小女子感激不尽!
复数类已经写好,
离散卷积公式:Y(s)=∑X(i)H(s-i)
s取值范围:X数组长度+H数组长度-1=S
I的取值范围:0到S
用C#计算卷积
我自己做了一个:
public Complex[] Convolution(Complex[] X,double[] Y)
{
int L = X.Length + Y.Length - 1;
Complex[] CmpData = new Complex[L];
for (int i = 0; i < L; i++)
{
Complex P = new Complex();
CmpData[i] = new Complex();
for (int m = 0; m < X.Length; m++)
{
if ((m < i | m == i) & (i - m) < Y.Length)
{
P = X[m] * Y[i - m];
CmpData[i] += P;
}
}
}
return CmpData;
}
但是总觉得有问题啊,我在做基于TETRA的信号调制,
小女子感激不尽!
复数类已经写好,
离散卷积公式:Y(s)=∑X(i)H(s-i)
s取值范围:X数组长度+H数组长度-1=S
I的取值范围:0到S
我自己做了一个:
public Complex[] Convolution(Complex[] X,double[] Y)
{
int L = X.Length + Y.Length - 1;
Complex[] CmpData = new Complex[L];
for (int i = 0; i < L; i++)
{
Complex P = new Complex();
CmpData[i] = new Complex();
for (int m = 0; m < X.Length; m++)
{
if ((m < i | m == i) & (i - m) < Y.Length)
{
P = X[m] * Y[i - m];
CmpData[i] += P;
}
}
}
return CmpData;
}
但是总觉得有问题啊,我在做基于TETRA的信号调制,
小女子感激不尽!
复数类已经写好,
离散卷积公式:Y(s)=∑X(i)H(s-i)
s取值范围:X数组长度+H数组长度-1=S
I的取值范围:0到S
本题链接: