matlab中的freqzn怎么用呀

显示最后一行输入参数过多报错 请问这个怎么改呀
代码在图片里发不出来

img

img

如果你使用freqz函数时出现了参数输入过多的报错,可以检查一下你的输入参数是否符合freqz函数的要求。freqz函数的输入参数主要包括数字滤波器的系数向量和采样频率。如果你不确定采样频率,可以参考段落7中的内容进行调整。

正确使用freqz函数可以通过以下步骤来完成:

  1. 设计数字滤波器,得到其系数向量;
  2. 确定采样频率,通常采样频率为信号最高频率的两倍;
  3. 使用freqz函数进行频率响应计算;
  4. 可以选择将返回值resp和角频率向量w进行绘图,也可以选择使用plot函数自行绘图。

以下是一个简单的示例代码:

% 设计数字滤波器,使用fir1函数得到系数向量
fs = 8000; % 采样频率
fc = 1000; % 截止频率
M = 128; % 滤波器阶数
hn = fir1(M, fc/(fs/2));

% 计算频率响应
[resp, w] = freqz(hn, 1, 1024, fs);

% 绘制幅频响应曲线
figure;
plot(w/2/pi*fs, abs(resp));
xlabel('频率(Hz)');
ylabel('幅值');
title('滤波器幅频响应');
grid on;

% 绘制相频响应曲线
figure;
plot(w/2/pi*fs, angle(resp)/pi*180);
xlabel('频率(Hz)');
ylabel('相位(度)');
title('滤波器相频响应');
grid on;

注意,上述示例代码中使用的freqz函数输入参数包括滤波器系数向量hn、分母系数1、采样点数1024和采样频率fs,其中分母系数1可以省略,默认为1。如果输入参数与这个不符,则会出现参数输入过多的报错。