加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

低通滤波器仿真

(2014-02-23 17:43:52)
分类: Math_and_Matlab

源信号为含有频率f 2f 3f 的正弦波叠加信号,即:
x=A*sin(2*pi*f*t)+1*A*sin(4*pi*f*t)+1*A*sin(6*pi*f*t);
f=500Hz,以频率Fs=8kHz对该信号进行采样。设计数字IIR低通滤波器,使输出信号中只含有频率为f的成份。

对应的matlab程序

clc;clear;close all

Wp=2*pi*600;                        %通带截止角频率600Hz

Ws=2*pi*900;                        %阻带起始角频率900Hz

Rp=3;                                %通带最大衰减

Rs=20;                               %阻带最小衰减

[n,Wn]=buttord(Wp,Ws,Rp,Rs,'s');     %求巴特沃斯阶数和3db截止角频率

[b,a]=butter(n,Wn,'s');              %求传递函数

w=linspace(0,2000,2000)*2*pi;       %生成2000个点,作为角频率        

H=freqs(b,a,w);                       %频率响应

magH=20*log10(abs(H));                %频率响应的幅度

phaH=unwrap(angle(H));                %频率响应的相位(平滑处理)  

xf=w/(2*pi);                         %幅频曲线和相角曲线的横坐标

figure;subplot(211)

plot(xf,magH); grid on               %频率响应的幅度的曲线图                

title('巴特沃斯低通滤波器的幅频特性'); 

xlabel('频率/Hz'); ylabel('幅度/dB') 

subplot(212)

plot(xf,phaH);xlabel('频率/Hz'); ylabel('相角/(rad/s)') %做出相角曲线

grid on

f=500;  

Fs=8000;Ts=1/Fs; 

[Bz,Az]=bilinear(b,a,Fs);

A=2;

L=8000;

t=(0:L-1)*Ts;

x=A*sin(2*pi*f*t)+1*A*sin(4*pi*f*t)+1*A*sin(6*pi*f*t);

y=filter(Bz,Az,x);

figure

subplot(211);plot(t(1:200)*1000,x(1:200)) %做出x的时域图,部分

title('x(t)采样后波形X(t)') ;xlabel('ms');

subplot(212);plot(t(1:200)*1000,y(1:200)) %做出经过滤波后的图形,部分

 

title('X(t)经过低通滤波器后波形'); xlabel('ms');

http://s12/mw690/002fwwXTzy6GOBrGWef9b&690

http://s14/mw690/002fwwXTzy6GOBrIEDb4d&690

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有