发布时间 : 星期四 文章《信号处理matlab仿真》大作业更新完毕开始阅读e302d28f0342a8956bec0975f46527d3240ca6f7
《信号处理matlab仿真》结课作业
t3=t11+t21:0.001:t12+t22; ft3=conv(ft1,ft2); ft3=t*ft3*0.001; plot(t3,ft3) title('f1(t)*f2(t)')
方波傅里叶分析,对方波幅度进行设置: clc
f=str2num(get(handles.edit2,'String')); t=0:0.01:2*pi; y=f*sin(t); plot(t,y),hold on y=f*(sin(t)+sin(3*t)/3); plot(t,y),hold on
y=f*(sin(t)+sin(3*t)/3+sin(5*t)/5); plot(t,y),hold on
y=f*(sin(t)+sin(3*t)/3+sin(5*t)/5+sin(7*t)/7); plot(t,y),hold on
y=f*(sin(t)+sin(3*t)/3+sin(5*t)/5+sin(7*t)/7+sin(9*t)/9); plot(t,y),hold on
y=f*(sin(t)+sin(3*t)/3+sin(5*t)/5+sin(7*t)/7+sin(9*t)/9+sin(11*t)/11); plot(t,y),grid
title('方波傅立叶分析')
4
《信号处理matlab仿真》结课作业
离散傅里叶变化,针对指数信号,对底数进行设置: t=str2num(get(handles.edit3,'String')); n=-5:5; x=t.^n; k=-200:200; w=(pi/100)*k;
X=x*(exp(-j*pi/100)).^(n'*k); p=abs(X); plot(w/pi,p),grid title('离散傅立叶变换');
快速傅里叶变化,针对指数信号,对底数进行设置: N=str2num(get(handles.edit3,'String')); x0=sin(N*2*pi*[1:8]/8)*5; dt=2*pi/8;
w=linspace(0,2*pi,1000)/dt;
x0=x0*exp(-j*[1:length(x0)]'*w) *dt; plot(w,abs(x0)) title('快速傅立叶变换')
4、滤波器设计
FIR低通滤波器,可以对阶数、截止频率进行设置:
A1=get(handles.edit1,'String'); N=str2num(A1);
w1=get(handles.edit2,'String'); Wn=str2num(w1); b=fir1(N,Wn,'low');
5
《信号处理matlab仿真》结课作业
fs=2000;
[h,f]=freqz(b,1,1024,fs) plot(f,20*log10(abs(h)));
FIR高通滤波器,可以对阶数、截止频率进行设置: A1=get(handles.edit3,'String'); N=str2num(A1);
w1=get(handles.edit4,'String'); Wn=str2num(w1); b=fir1(N,Wn,'high'); fs=2000;
[h,f]=freqz(b,1,1024,fs) plot(f,20*log10(abs(h)));
FIR带通滤波器,可以对阶数、截止频率进行设置: A1=get(handles.edit5,'String'); N=str2num(A1);
w1=get(handles.edit6,'String'); Wn=str2num(w1); b=fir1(N,Wn); fs=2000;
[h,f]=freqz(b,1,1024,fs) plot(f,20*log10(abs(h))); 巴特沃斯低通滤波器:
6
《信号处理matlab仿真》结课作业
[b,a]=butter(11,0.5); figure(1);
freqz(b,a,512,1000) n=0:40; x1=[(n-3)>=0]; x2=[(n-20)>=0]; x=x1-x2; y=filter(b,a,x); figure(2) subplot(1,2,1) stem(n,x);
axis([0,35,-0.3,1.3]); grid title('x(n)'); subplot(1,2,2) stem(n,y) grid
title('y=filter(b,a,x)'); 切比雪夫I型滤波器: wp1=1000; ws1=1500; wc=3000;
7