void SigTranmit::daitong () { int k; float Hb0[N]{}; for (k = 0; k < N; k++) Hb0[k] = 0.0; for (k = 0; k < (N - 1) / 2; k++) { if (((float)freq * k / N > 700) && ((float)freq * k / N < 900)) Hb0[k] = ((float)freq * k / N - 700) / 200; if (((float)freq * k / N > 900) && ((float)freq * k / N < 1100)) Hb0[k] = 1; if (((float)freq * k / N > 1100) && ((float)freq * k / N < 1300)) Hb0[k] = (1300 - (float)freq * k / N) / 200;//归一化 //else Hb0[k]=0; Hb0[N - 1 - k] = Hb0[k]; } SetHb(Hb0); Idft(GetHb());//频域采样后,在时域上卷积 Conv(Sa,GetH2()); Dft(Sa,21*M); }
时间: 2023-12-26 20:04:07 浏览: 17
这段代码也是C++语言编写的。它的作用是对信号进行数字信号处理,其中包括:
1.生成一个长度为N的数字滤波器Hb0;
2.将Hb0进行反离散傅里叶变换(IDFT);
3.将生成的滤波器与输入信号Sa进行卷积运算;
4.将卷积后的信号进行离散傅里叶变换(DFT)。
和上一段代码相比,这段代码生成的滤波器的频率响应不同,具体来说,它是一个带通滤波器,只允许700Hz到1300Hz之间的信号通过,而其他频率的信号被滤波器抑制或者削弱。
相关问题
void SigTranmit::dit () { int k; float Hb0[N]{}; for(k=0;k<N;k++) Hb0[k]=0.0; for(k=0;k<N;k++) { int const freq=4000; if((float)freq*k/N<100) Hb0[k]=1; if(((float)freq*k/N>100)&&((float)freq*k/N<300)) Hb0[k]=(300-(float)freq*k/N)/200; } SetHb(Hb0); Idft(GetHb()); Conv(Sa,GetH2()); Dft(Sa,21*M); }
这段代码是C++语言编写的。它的作用是对信号进行数字信号处理,其中包括:
1.生成一个长度为N的数字滤波器Hb0;
2.将Hb0进行反离散傅里叶变换(IDFT);
3.将生成的滤波器与输入信号Sa进行卷积运算;
4.将卷积后的信号进行离散傅里叶变换(DFT)。
这段代码的具体作用需要结合上下文来看,无法单独解释其作用。
void SigTranmit::Modulate () { float a=0.0; for(int i=0;i<21*M;i++) { a = 2.0 * PI * 0.25 * i;//fc/fs=1000/4000=0.25 Mod[i] = Sa[i] * cos(a); } for(int i=0;i<21*M;i++) Sa[i] = Mod[i]; Dft(Sa,21*M); }
这段代码同样是C++语言编写的。它的作用是对信号进行调制,其中包括:
1.将输入信号Sa中的每个样本点乘以一个cos函数;
2.得到调制后的信号Mod;
3.将调制后的信号Mod赋值给输入信号Sa;
4.再次进行离散傅里叶变换(DFT)。
具体来说,这段代码使用了一个频率为1000Hz的正弦波进行调制,所得到的调制信号是一个带通信号,其频率范围为0Hz到2000Hz,而其他频率的信号被滤波器抑制或者削弱。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)