有两道题目,要求用
matlab实现,我是学计算机的,MATLAB方面没有涉及过,有高手给帮忙指点下吧??感激不尽~~~
1.有信号频率成为为50HZ和300HZ的正弦信号组成,被白噪声污染,信噪比为2DB,0DB,和-2DB,fs=1000HZ,对其进行FT分析,画出频谱图。
2.已知信号f(t)=3sin100pi t+2sin68 pi t+5cos72 pi t,且该信号混有噪声强度为3的白噪声,对该信号进行CWT,自选四种小波函数,尺度为1,1.2,1.4,3,要求1 画出灰度图,2画出各尺度,采样点滤波系数的波形图。
- N=500;fs=1000; %设置采样点及采样频率
- n=0:N-1;
- t=n/fs;
- s=sin(50*2*pi*n/fs)+sin(300*2*pi*n/fs); %信号生成
- s1=awgn(s,2); %信噪比2dB
- s_ft1=fftshift(abs(fft(s1,N)))/fs;
- s2=awgn(s,0); %信噪比0dB
- s_ft2=fftshift(abs(fft(s2,N)))/fs;
- s3=awgn(s,-2); %信噪比-2dB
- s_ft3=fftshift(abs(fft(s3,N)))/fs;
- w=fs*(n-N/2)/N; %频域坐标转换
- subplot(311);plot(w,s_ft1);title('信噪比为2dB频谱图');
- subplot(312);plot(w,s_ft1);title('信噪比为0dB频谱图');
- subplot(313);plot(w,s_ft1);title('信噪比为-2dB频谱图');
-
- 第二个
- N=500;fs=1000; %设置采样点及采样频率
- n=0:N-1;
- t=n/fs;
- s_i=3*sin(100*pi*t)+2*sin(68*pi*t)+5*cos(72*pi*t); %原始信号
- s_n=wgn(1,N,3); %噪声
- s=s_i+s_n; %信号声称
- scale=[1 1.2 1.4 3]; %设置尺度
- %% 四种小波变换
- subplot(221);s_c_h1=cwt(s,scale,'haar','plot');title('Haar wavelet');
- subplot(222);s_c_h2=cwt(s,scale,'mexh','plot');title('Mexican hat wavelet');
- subplot(223);s_c_h3=cwt(s,scale,'morl','plot');title('Morlet wavelet');
- subplot(224);s_c_h4=cwt(s,scale,'meyr','plot');title('Meyer wavelet');
- figure; %以Mexican hat小波为例
- subplot(221);plot(s_c_h2(1,:));title('尺度为1');
- subplot(222);plot(s_c_h2(2,:));title('尺度为1.2');
- subplot(223);plot(s_c_h2(3,:));title('尺度为1.4');
- subplot(224);plot(s_c_h2(4,:));title('尺度为3');
复制代码评分
查看全部评分
一周热门 更多>