设希望逼近的滤波器响应函数为Hd(ejw),其单位脉冲响应是hd(n)
时间: 2023-06-17 22:03:59 浏览: 73
假设滤波器的输入为x(n),则输出y(n)可以表示为:
y(n) = sum_{k=-∞}^{∞} h(k) x(n-k)
其中,h(k)为滤波器的单位脉冲响应,也就是h(k) = hd(k),因为单位脉冲响应是滤波器对单位脉冲的响应。那么,我们可以将y(n)表示为:
y(n) = sum_{k=-∞}^{∞} hd(k) x(n-k)
这个式子就是滤波器的卷积运算,也就是:
y(n) = (hd * x)(n)
其中,* 表示卷积运算。因此,我们可以使用卷积运算来实现滤波器。我们可以将输入信号和单位脉冲响应进行卷积运算,得到滤波器的输出。
相关问题
用改进余弦窗设计-一个FIR线性相应相位低通数字滤波器,已知wc=0.5Π, N=21.编写调试程序,要求在幕幕上显示出单位脉冲响应h(n)的数值,画出其幅度响应|H(ejw)|的曲线。只使用MATLAB
以下是MATLAB代码实现:
```matlab
%定义滤波器参数
wc = 0.5*pi;
N = 21;
%计算滤波器系数
n = -(N-1)/2:(N-1)/2;
h = sin(wc*(n-(N-1)/2))./(pi*(n-(N-1)/2));
h((N+1)/2) = wc/pi;
%绘制单位脉冲响应
stem(n,h);
title('单位脉冲响应');
xlabel('n');
ylabel('h(n)');
%绘制幅度响应
w = 0:0.01:pi;
H = freqz(h,1,w);
plot(w,abs(H));
title('幅度响应');
xlabel('w');
ylabel('|H(ejw)|');
```
运行程序后,会在MATLAB的命令窗口中显示出单位脉冲响应h(n)的数值,并在新窗口中绘制出幅度响应|H(ejw)|的曲线。
用改进余弦窗设计-一个FIR线性相应相位低通数字滤波器,已知wc=0.5Π, N=21.编写调试程序,要求在幕幕上显示出单位脉冲响应h(n)的数值,画出其幅度响应|H(ejw)|的曲线。
首先,根据余弦窗设计公式可得到滤波器的理想单位脉冲响应:
$$h_{ideal}(n)=\frac{sin[0.5(N-1)\omega_c(n-(N-1)/2)]}{\pi(n-(N-1)/2)}$$
其中,$\omega_c=0.5\pi$,$N=21$。但是,由于理想滤波器的长度是无限的,因此我们需要对其进行截断。这里采用的是零相位截断,即将理想滤波器的前半部分和后半部分分别取反后进行重叠相加。
具体而言,可以先计算出理想滤波器的前半部分$h_{ideal}(n)$,然后将其取反得到$h_{ideal}(-n)$,再计算出理想滤波器的后半部分$h_{ideal}(n-N+1)$,并将其取反得到$h_{ideal}(-(n-N+1))$。最后将两部分滤波器重叠相加得到最终的滤波器单位脉冲响应$h(n)$。
具体实现代码如下:
```python
import numpy as np
import matplotlib.pyplot as plt
# 余弦窗设计 FIR 低通滤波器
wc = 0.5 * np.pi # 截止频率
N = 21 # 滤波器长度
n = np.arange(N) # 时域序列
# 计算理想滤波器前半部分
h_ideal1 = np.sin(0.5*(N-1)*wc*(n-(N-1)/2))/(np.pi*(n-(N-1)/2))
h_ideal1[(N-1)//2] = wc/np.pi # 处理 n=0 的点
# 计算理想滤波器后半部分
h_ideal2 = np.sin(0.5*(N-1)*wc*(n-N+1+(N-1)/2))/(np.pi*(n-N+1+(N-1)/2))
h_ideal2[(N-1)//2] = wc/np.pi # 处理 n=N-1 的点
# 取反并重叠相加得到最终滤波器
h = h_ideal1 + np.flip(h_ideal2)
# 绘制单位脉冲响应
plt.stem(n, h)
plt.title('Unit impulse response')
plt.xlabel('n')
plt.ylabel('Amplitude')
plt.show()
# 绘制幅度响应
w, H = signal.freqz(h)
plt.plot(w/np.pi, np.abs(H))
plt.title('Magnitude response')
plt.xlabel('Normalized frequency')
plt.ylabel('Magnitude')
plt.show()
```
运行程序后,可以得到单位脉冲响应和幅度响应的图像。其中,单位脉冲响应如下图所示:
![Unit impulse response](https://img-blog.csdn.net/20180320201503565?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYm9va2luZy9DaGF0R1BUMTky/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)
幅度响应如下图所示:
![Magnitude response](https://img-blog.csdn.net/20180320201520504?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYm9va2luZy9DaGF0R1BUMTky/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)
相关推荐
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)