1正弦波定义一正弦定义正弦波正弦波定义

1.正弦波定义
f1=50;  %  频率1
f2=100; %  频率2
fs=2*(f1+f2);  %  采样频率
Ts=1/fs;  %  采样间隔
N=120;    %  采样点数
n=1:N;
y=sin(2*pi*f1*n*Ts)+sin(2*pi*f2*n*Ts);  %  正弦波混合
figure(1)
plot(y);
ti tle('两个正弦信号')
figure(2)
stem(abs(fft(y)));
ti tle('两信号频谱')
%%  2.小波滤波器谱分析
h=wfilters('db30','l');  %  低通
g=wfilters('db30','h');  %  高通
h=[h,zeros(1,N-length(h))];  %  补零(圆周卷积,且增大分辨率变于观察)g=[g,zeros(1,N-length(g))];  %  补零(圆周卷积,且增大分辨率变于观察)
figure(3);
stem(abs(fft(h)));
ti tle('低通滤波器图')
figure(4);
stem(abs(fft(g)));
ti tle('高通滤波器图')
%%  3.MALLET分解算法(圆周卷积的快速傅里叶变换实现)
sig1=ifft(fft(y).*fft(h));  %  低通(低频分量)
sig2=ifft(fft(y).*fft(g));  %  高通(高频分量)
figure(5);  %  信号图
subplot(2,1,1)
plot(real(sig1));
ti tle('分解信号1')
subplot(2,1,2)
plot(real(sig2));
ti tle('分解信号2')
figure(6);  %  频谱图
subplot(2,1,1)
stem(abs(fft(sig1)));
ti tle('分解信号1频谱')
subplot(2,1,2)
stem(abs(fft(sig2)));
ti tle('分解信号2频谱')
%%  4.MALLET重构算法
sig1=dyaddown(sig1); %  2抽取
sig2=dyaddown(sig2); %  2抽取
sig1=dyadup(sig1);  %  2插值
sig2=dyadup(sig2);  %  2插值
sig1=sig1(1,[1:N]);  %  去掉最后一个零
sig2=sig2(1,[1:N]);  %  去掉最后一个零
hr=h(end:-1:1);        %  重构低通
gr=g(end:-1:1);        %  重构高通
hr=circshift(hr',1)';  %  位置调整圆周右移一位gr=circshift(gr',1)';  %  位置调整圆周右移一位
sig1=ifft(fft(hr).*fft(sig1));  %  低频sig2=ifft(fft(gr).*fft(sig2));  %  高频sig=sig1+sig2; %  源信号
%%  5.比较
figure(7);
subplot(2,1,1)
plot(real(sig1));
ti tle('重构低频信号');
subplot(2,1,2)
plot(real(sig2));
ti tle('重构高频信号');正弦波滤波器
figure(8);
subplot(2,1,1)
stem(abs(fft(sig1)));
ti tle('重构低频信号频谱');
subplot(2,1,2)
stem(abs(fft(sig2)));
ti tle('重构高频信号频谱');
figure(9)
plot(real(sig),'r','linewidth',2);
hold on;
plot(y);
legend('重构信号','原始信号')
ti tle('重构信号与原始信号比较')

本文发布于:2024-09-21 18:49:14,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/354526.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信号   采样   卷积   正弦波
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议