利用freqz函数求 的DTFT,并画出它的幅频特性和相频特性;
时间: 2024-05-25 20:10:46 浏览: 237
freqz函数无返回输出参数格式的调用-MATLAB数字信号处理
首先,需要知道DTFT的定义式为:
$$
X(e^{j\omega}) = \sum_{n=-\infty}^{\infty} x[n]e^{-j\omega n}
$$
而freqz函数可以用来计算DTFT,其语法为:
```matlab
[h,w] = freqz(b,a,n)
```
其中,b和a分别是系统的分子和分母多项式系数,n是DTFT的采样点数。函数将返回DTFT的频率响应h和对应的频率w。
下面,以一个5点单位脉冲响应为例,演示如何利用freqz函数求DTFT,并画出幅频特性和相频特性。
```matlab
% 生成5点单位脉冲响应
h = [1 zeros(1,4)];
% 求DTFT
n = 256; % 采样点数
[H,w] = freqz(h,1,n);
% 画出幅频特性
subplot(2,1,1)
plot(w,abs(H))
xlabel('频率')
ylabel('幅度')
title('幅频特性')
% 画出相频特性
subplot(2,1,2)
plot(w,angle(H))
xlabel('频率')
ylabel('相位')
title('相频特性')
```
运行上述代码,可以得到如下图所示的幅频特性和相频特性:
![DTFT的幅频特性和相频特性](https://img-blog.csdnimg.cn/20211013172059119.png)
从图中可以看到,该系统的幅频特性是一个周期性的正弦曲线,相频特性是一个常数。这是由于单位脉冲响应是一个离散的、周期性的正弦函数。
阅读全文