matlab 求得频率响应
时间: 2023-12-09 16:36:18 浏览: 180
用matlab求频率响应
4星 · 用户满意度95%
以下是使用MATLAB求解频率响应的步骤:
1. 定义系统的传递函数,例如:
```matlab
H = tf([1 2 3], [4 5 6]);
```
其中,分子为[1 2 3],分母为[4 5 6]。
2. 使用freqz函数计算系统的频率响应,例如:
```matlab
N = 512; % 频率响应采样点数
[h, w] = freqz([1 2 3], [4 5 6], N);
```
其中,[1 2 3]和[4 5 6]分别为系统的分子和分母,N为采样点数,h为频率响应的幅度响应,w为频率响应的角频率。
3. 绘制频率响应曲线,例如:
```matlab
subplot(2,1,1);
plot(w/pi, abs(h)); % 幅频响应
xlabel('Normalized Frequency (\times\pi rad/sample)');
ylabel('Magnitude');
title('Magnitude Response');
subplot(2,1,2);
plot(w/pi, angle(h)); % 相频响应
xlabel('Normalized Frequency (\times\pi rad/sample)');
ylabel('Phase (rad)');
title('Phase Response');
```
其中,subplot函数用于绘制多个子图,第一个参数为子图行数,第二个参数为子图列数,第三个参数为当前子图的编号。abs(h)为频率响应的幅度响应,angle(h)为频率响应的相频响应。
阅读全文