当前位置:首页 > 数字信号处理课程设计报告
三、程序清单
clear all;
fn=10000; fp=300; fs=320; Rp=0.1; Rs=60; N=800; %信号长度N为800
T=1/fn;Tp=N*T; %采样频率Fs=10kHz,Tp为采样时间 t=0:T:(N-1)*T;k=0:N-1;f=k/Tp; Wp=fp/(fn/2);%计算归一化角频率 Ws=fs/(fn/2);
[n,Wn]=ellipord(Wp,Ws,Rp,Rs); [b,a]=ellip(n,Rp,Rs,Wp);
[H,F]=freqz(b,a,800,10000);%计算H(z)的幅频响应,freqz(b,a,计算点数,采样速率) figure(2)
subplot(2,1,1) plot(F,abs(H));
xlabel('Frequency(Hz)'); ylabel('Magnitude(dB)'); title('低通滤波器'); axis([0 1500 0 10]); grid on
subplot(2,1,2)
pha=angle(H)*180/pi; plot(F,pha); grid on
%滤波器对信号处理 st=mstg
y=filter(b,a,st); Y=fft(y); figure(3)
subplot(2,1,1) plot(y);
title('滤波后的波形'); grid on
subplot(2,1,2)
stem(f,abs(Y)/max(abs(Y)),'.'); xlabel('Frequency(Hz)'); ylabel('Magnitude(dB)'); title('滤波后的频谱'); axis([0 1500 0 1]); gridon
clear all;
fn=10000; fp=[400,600]; fs=[350,650]; Rp=0.1; Rs=60; N=800; %信号长度N为800
T=1/fn;Tp=N*T; %采样频率Fs=10kHz,Tp为采样时间 t=0:T:(N-1)*T;k=0:N-1;f=k/Tp; Wp=fp/(fn/2);%计算归一化角频率 Ws=fs/(fn/2);
[n,Wn]=ellipord(Wp,Ws,Rp,Rs); [b,a]=ellip(n,Rp,Rs,Wp);
[H,F]=freqz(b,a,800,10000);%计算H(z)的幅频响应,freqz(b,a,计算点数,采样速率) figure(2)
subplot(2,1,1) plot(F,abs(H));
xlabel('Frequency(Hz)'); ylabel('Magnitude(dB)'); title('带通滤波器'); axis([0 1500 0 10]); grid on
subplot(2,1,2)
pha=angle(H)*180/pi; plot(F,pha); grid on
%滤波器对信号处理 st=mstg
y=filter(b,a,st); Y=fft(y); figure(3)
subplot(2,1,1) plot(y);
title('滤波后的波形'); grid on
subplot(2,1,2)
stem(f,abs(Y)/max(abs(Y)),'.'); xlabel('Frequency(Hz)'); ylabel('Magnitude(dB)'); title('滤波后的频谱'); axis([0 1500 0 1]); grid on
clear all;
fn=10000; fp=800; fs=750; Rp=0.1; Rs=60; N=800; %信号长度N为800
T=1/fn;Tp=N*T; %采样频率Fs=10kHz,Tp为采样时间 t=0:T:(N-1)*T;k=0:N-1;f=k/Tp; Wp=fp/(fn/2);%计算归一化角频率 Ws=fs/(fn/2);
[n,Wn]=ellipord(Wp,Ws,Rp,Rs); [b,a]=ellip(n,Rp,Rs,Wp,'high');
[H,F]=freqz(b,a,800,10000);%计算H(z)的幅频响应,freqz(b,a,计算点数,采样速率) figure(2)
subplot(2,1,1) plot(F,abs(H));
xlabel('Frequency(Hz)'); ylabel('Magnitude(dB)'); title('高通滤波器'); axis([0 1500 0 10]); grid on
subplot(2,1,2)
pha=angle(H)*180/pi; plot(F,pha); grid on
%滤波器对信号处理 st=mstg
y=filter(b,a,st); Y=fft(y); figure(3)
subplot(2,1,1) plot(y);
title('滤波后的波形'); grid on
subplot(2,1,2)
stem(f,abs(Y)/max(abs(Y)),'.'); xlabel('Frequency(Hz)'); ylabel('Magnitude(dB)'); title('滤波后的频谱'); axis([0 1500 0 1]); grid on
四、设计结果
共分享92篇相关文档