matlab求助各位大侠,下面程序哪里出错了

为什么总是调试不出来wp=0.6*pi;ws=0.7*pi;%滤波器边界频率wdelta=ws-wp;%过渡带宽N=ceil(8*pi/wdelta)%根据过渡带宽等于表... 为什么总是调试不出来
wp=0.6*pi;ws=0.7*pi; %滤波器边界频率
wdelta=ws-wp; %过渡带宽
N=ceil(8*pi/wdelta) %根据过渡带宽等于表 7-2中Hanning窗函数主瓣宽求得滤波器所用窗函数的最小长度
wc=(wp+ws)/2;
n=0:N-1;
alpha=(N-1)/2;
m=n-alpha+eps;
hd=sin(wc*m)./(pi*m);
win=hanning(Nw);
h=hd.*win';
b=h;
figure(1)
[H,f]=freqz(b,1,512,100);
subplot(2,1,1),plot(f,20*log10(abs(H)))
xlabel('频率/Hz');ylabel('振幅/dB');grid on;
subplot(2,1,2),plot(f,180/pi*unwrap(angle(H)))
xlabel('频率/Hz');ylabel('相位/^o');grid on;
%impz(b,1); %可采用此函数给出滤波器的脉冲响应
%zplane(b,1); %可采用此语句给出滤波器的零极点图
%grpdelay(b,1); %可采用此函数给出滤波器的群延迟
f1=20;f2=45; %检测输入信号含有两种频率成分
dt=0.02; t=0:dt:3; %采样间隔和检测信号的时间序列
x=sin(2*pi*f1* t)+cos(2* pi*f2* t); %检测信号
%y=filter(b,1,x); %可采用此函数给出滤波器的输出
y=fftfilt(b,x); %给出滤波器的输出
figure(2)
subplot(2,1,1), plot(t,x),title('输入信号') %绘输入信号
subplot(2,1,2),plot(t,y) % 绘输出信号
hold on; plot([1 1]*(N-1)/2*dt,ylim, 'r') %绘出延迟到的时刻
xlabel('时间/s'),title('输出信号')
展开
 我来答
huweny87
2011-04-18 · TA获得超过197个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:128万
展开全部
win=hanning(Nw); 这句提示Nw没有定义过
追问
如何修改的啊
追答
增加对Nw的定义啊,你是可以根据执行过程中给你的错误提示找到程序缺陷所在的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式