最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

对周期方波信号进行滤波matlab的实现

来源:动视网 责编:小OO 时间:2025-09-25 16:18:18
文档

对周期方波信号进行滤波matlab的实现

对周期方波信号进行滤波(1)      1、生成一个基频为10Hz的周期方波信号;(2)     2、 设计一个滤波器,滤去该周期信号中40Hz以后的频率成分,观察滤波前后的信号波形和频谱。(3)      3、如果该信号x(t)淹没在噪声中(随机噪声用randn(1,N)生成,N为其样点数),试滤去噪声。      %采样频率取200Hz,可以改变看看。输入、输出信号频谱同时绘制在一起对比%采用低通滤波器,保留40Hz以下频率成分clearfs=200;t=0:1/fs:1;x=square
推荐度:
导读对周期方波信号进行滤波(1)      1、生成一个基频为10Hz的周期方波信号;(2)     2、 设计一个滤波器,滤去该周期信号中40Hz以后的频率成分,观察滤波前后的信号波形和频谱。(3)      3、如果该信号x(t)淹没在噪声中(随机噪声用randn(1,N)生成,N为其样点数),试滤去噪声。      %采样频率取200Hz,可以改变看看。输入、输出信号频谱同时绘制在一起对比%采用低通滤波器,保留40Hz以下频率成分clearfs=200;t=0:1/fs:1;x=square

对周期方波信号进行滤波

(1)      1、 生成一个基频为10Hz的周期方波信号;

(2)     2、  设计一个滤波器,滤去该周期信号中40Hz以后的频率成分,观察滤波前后的信号波形和频谱。

(3)       3、如果该信号x(t)淹没在噪声中(随机噪声用randn(1,N)生成,N为其样点数),试滤去噪声。

       %采样频率取200Hz,可以改变看看。输入、输出信号频谱同时绘制在一起对比

%采用低通滤波器,保留40Hz以下频率成分

clear

fs=200;

t=0:1/fs:1;

x=square(2*pi*10*t);

wp=40*2/fs;

ws=45*2/fs;

Rp=3;Rs=45;Nn=128;

[N,wn]=buttord(wp,ws,Rp,Rs)

[b,a]=butter(N,wn,'low')

y=filter(b,a,x);

figure(1)

plot(t,x,'r-',t,y) 

%grid on

axis([0 1.2 -2 2])

title('红色代表原信号,蓝色代表只保留40Hz以下频率成分')

       figure(2)

[H,W]=freqz(b,a);

k=0:511;

plot((fs/2)/512*k,abs(H));

grid on

title('滤波器频率响应')

T=1/fs;

N=4*(fs/10); 

n=0:N-1;

xn=square(2*pi*10*n*T);

X=fftshift(fft(xn,512));

xk=1/N*X;

      Y=fftshift(fft(y,512));

yk=1/N*Y;

       figure(3)

plot(-fs/2+fs/512*k,abs(xk))

grid on

legend('方波信号的频谱')

       figure(4)

plot(-fs/2+fs/512*k,abs(xk),'b',-fs/2+fs/512*k,abs(yk),'r')

grid on

legend('原信号的频谱','滤波后信号的频谱')

%%%%%%%%%%%%%%%%%%%%保留40Hz频率成分%%%%%%%%%%%%

       %采样频率取200Hz,可以改变看看。输入、输出信号频谱同时绘制在一起对比

 %采用带通滤波器,只保留40Hz频率成分

clear

fs=200;

t=0:1/fs:1;

x=square(2*pi*10*t);

wp=[35 45]*2/fs;

ws=[30 50]*2/fs;

Rp=3;Rs=45;Nn=128;

[N,wn]=buttord(wp,ws,Rp,Rs)

[b,a]=butter(N,wn,'bandpass') %只保留40Hz频率成分

y=filter(b,a,x);

figure(1)

plot(t,x,'r-',t,y) 

grid on

axis([0 1.2 -1.2 1.2])

title('红色代表原信号,蓝色代表只保留40Hz频率成分')

        figure(2)

[H,W]=freqz(b,a);

k=0:511;

plot((fs/2)/512*k,abs(H));

grid on

title('滤波器频率响应')

      T=1/fs;

N=4*(fs/10); 

n=0:N-1;

xn=square(2*pi*10*n*T);

X=fftshift(fft(xn,512));

xk=1/N*X;

      Y=fftshift(fft(y,512));

yk=1/N*Y;

      figure(3)

plot(-fs/2+fs/512*k,abs(xk),'b',-fs/2+fs/512*k,abs(yk),'r')

grid on

legend('原信号的频谱','滤波后信号的频谱')

文档

对周期方波信号进行滤波matlab的实现

对周期方波信号进行滤波(1)      1、生成一个基频为10Hz的周期方波信号;(2)     2、 设计一个滤波器,滤去该周期信号中40Hz以后的频率成分,观察滤波前后的信号波形和频谱。(3)      3、如果该信号x(t)淹没在噪声中(随机噪声用randn(1,N)生成,N为其样点数),试滤去噪声。      %采样频率取200Hz,可以改变看看。输入、输出信号频谱同时绘制在一起对比%采用低通滤波器,保留40Hz以下频率成分clearfs=200;t=0:1/fs:1;x=square
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top