clc;clear all;close all; ws1=0.2*pi; ws2=0.8*pi; wp1=0.35*pi; wp2=0.65*pi; tr_width=max((wp1-ws1),(ws2-wp2)); N=ceil(12*pi/tr_width)+1; wc1=(ws1+wp1)/2; wc2=(ws2+wp2)/2; wc=[wc1 wc2]; h=firl(N,wc/pi,blackman(N+1)); [H,w]=freqz(h,1,1000); mag=abs(H); db=20*log10(mag/max(mag)); subplot(2,1,1); plot(w/pi,db,'-b','LineWidth',1); xlabel('\omega/\pi');ylabel('幅度(dB)'); axis([0,1,-150,10]);grid on; subplot(2,1,2); plot(w/pi,angle(H)*180/pi,'-k','LineWidth',1); xlabel('\omega/\pi');ylabel('相位(度)'); grid on;为什么不能运行
时间: 2024-03-28 20:38:48 浏览: 17
这段代码应该是可以运行的,但是如果你的MATLAB版本比较老,可能会出现一些兼容性问题,导致无法运行。另外,也有可能是你在代码中使用了一些未定义的变量或函数,导致出现错误。
你可以尝试将代码重新复制粘贴到MATLAB编辑器中,并检查是否有语法错误或未定义的变量或函数。如果仍然无法运行,你可以尝试更新MATLAB版本或更换其他支持的编程环境。
相关问题
clc;clear all;close all; ws1=0.2*pi; ws2=0.8*pi; wp1=0.35*pi; wp2=0.65*pi; tr_width=max((wp1-ws1),(ws2-wp2)); N=ceil(12*pi/tr_width)+1; wc1=(ws1+wp1)/2; wc2=(ws2+wp2)/2; wc=[wc1 wc2]; h=firl(N,wc/pi,blackman(N+1)); [H,w]=freqz(h,1,1000); mag=abs(H); db=20*log10(mag/max(mag)); subplot(2,1,1); plot(w/pi,db,'-b','LineWidth',1); xlabel('\omega/\pi');ylabel('幅度(dB)'); axis([0,1,-150,10]);grid on; subplot(2,1,2); plot(w/pi,angle(H)*180/pi,'-k','LineWidth',1); xlabel('\omega/\pi');ylabel('相位(度)'); grid on;哪里错啦
这段代码看起来没有语法错误,但是有可能出现以下问题:
1. 过渡带宽度的计算方式可能有误。应该使用max而不是min函数。因此,需要将tr_width的计算方式修改为:tr_width = max((wp1-ws1), (ws2-wp2));
2. firl函数的第一个参数应该为窗口长度,而不是滤波器的阶数。因此,应该将firl函数的第一个参数修改为N+1,即窗口长度为N+1。
修改后的代码如下:
```
clc;clear all;close all;
ws1=0.2*pi;
ws2=0.8*pi;
wp1=0.35*pi;
wp2=0.65*pi;
tr_width=max((wp1-ws1),(ws2-wp2));
N=ceil(12*pi/tr_width)+1;
wc1=(ws1+wp1)/2;
wc2=(ws2+wp2)/2;
wc=[wc1 wc2];
h=firl(N+1,wc/pi,blackman(N+2));
[H,w]=freqz(h,1,1000);
mag=abs(H);
db=20*log10(mag/max(mag));
subplot(2,1,1);
plot(w/pi,db,'-b','LineWidth',1);
xlabel('\omega/\pi');ylabel('幅度(dB)');
axis([0,1,-150,10]);grid on;
subplot(2,1,2);
plot(w/pi,angle(H)*180/pi,'-k','LineWidth',1);
xlabel('\omega/\pi');ylabel('相位(度)');
grid on;
```
经过修改后,这段代码应该可以正确运行并绘制出带通滤波器的幅频响应和相频响应。
clc;clear all;close all; ws1=0.2*pi;ws2=0.8*pi; wp1=0.35*pi;wp2=0.65*pi; tr_width=min((wp1-ws1),(ws2-wp2)); N=ceil(12*pi/tr_width)+1; wc1=(ws1+wp1)/2;wc2=(ws2+wp2)/2; wc=[wc1 wc2]; h=firl(N,wc/pi,blackman(N+1)); [H,w]=freqz(h,1,1000); mag=abs(H);db=20*log10(mag/max(mag)); subplot(2,1,1); plot(w/pi,db,'-b','LineWidth',1); xlabel('\omega/\pi');ylabel('幅度(dB)');axis([0,1,-150,10]);grid on; subplot(2,1,2); plot(w/pi,w,'-k','LineWidth',1); xlabel('\omega/\pi');ylabel('相位(度)');grid on; 错哪里了?
这段代码是用于设计一个带通滤波器的FIR滤波器,但是有一些错误需要修正。
1. 首先,在计算过渡带宽度时,应该用max而不是min,因为过渡带宽度应该是两个过渡带宽度的最大值。因此,应该将tr_width的计算方式修改为:tr_width=max((wp1-ws1),(ws2-wp2));
2. 其次,由于采用了Blackman窗口函数,因此在firl函数中应该将窗口长度设为N+1,而不是N。
3. 最后,绘制相位响应时,应该将相位转换为角度,即将相位响应乘以180/pi。因此,应该将绘制相位响应的代码修改为:plot(w/pi,angle(H)*180/pi,'-k','LineWidth',1);
修改后的代码如下:
```
clc;clear all;close all;
ws1=0.2*pi;
ws2=0.8*pi;
wp1=0.35*pi;
wp2=0.65*pi;
tr_width=max((wp1-ws1),(ws2-wp2));
N=ceil(12*pi/tr_width)+1;
wc1=(ws1+wp1)/2;
wc2=(ws2+wp2)/2;
wc=[wc1 wc2];
h=firl(N+1,wc/pi,blackman(N+2));
[H,w]=freqz(h,1,1000);
mag=abs(H);
db=20*log10(mag/max(mag));
subplot(2,1,1);
plot(w/pi,db,'-b','LineWidth',1);
xlabel('\omega/\pi');ylabel('幅度(dB)');
axis([0,1,-150,10]);grid on;
subplot(2,1,2);
plot(w/pi,angle(H)*180/pi,'-k','LineWidth',1);
xlabel('\omega/\pi');ylabel('相位(度)');
grid on;
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)