📄 psd.m
字号:
load('sigcor1.mat')
%s=signal(1:2000)';
s11=signal(1:2000);
ss=(2./80)*(s11+1480)-0.5;%原始信号的幅度归一化
s=ss';
figure(1)
subplot(2,1,1);
plot(s);
title('原始心电信号');
[c,l]=wavedec(s,10,'coif3');%对信号进行10尺度小波分解
ca10=appcoef(c,l,'coif3',10);%提取第10尺度上的低频小波分解系数,即逼近分量
cd10=detcoef(c,l,10); %提取各尺度上的高频小波分解系数,即细节分量
cd9=detcoef(c,l,9);
cd8=detcoef(c,l,8);
cd7=detcoef(c,l,7);
cd6=detcoef(c,l,6);
cd5=detcoef(c,l,5);
cd4=detcoef(c,l,4);
cd3=detcoef(c,l,3);
cd2=detcoef(c,l,2);
cd1=detcoef(c,l,1);
caa10=zeros(1,length(ca10));
cdd10=zeros(1,length(cd10));%把第1尺度上的高频小波系数置零
cdd9=zeros(1,length(cd9));
cdd4=zeros(1,length(cd4));%把第4尺度上的高频小波系数置零
cdd3=zeros(1,length(cd3));
cdd2=zeros(1,length(cd2));
cdd1=zeros(1,length(cd1));
c1=[caa10,cdd10,cdd9,cd8,cd7,cd6,cd5,cdd4,cdd3,cdd2,cdd1];%新的小波分解结构
s1=waverec(c1,l,'coif3');%直接去除干扰尺度上对应的小波分量后的重建ECG信号
subplot(2,1,2);
plot(s1);%由f1的波形可知信号中还存在噪声,已去除基线漂移,心电信息有所损失
title('直接去除干扰尺度上的细节所得的恢复信号s1');
fs=500;
nfft=2048;
index=0:(nfft/2-1);
k=index*fs/nfft;
xk1=fft(s,nfft);
pxx1=abs(xk1).^2/length(s);
plot_pxx1=10*log10(pxx1(index+1));
cxn1=xcorr(s,'unbiased');
cxk1=fft(cxn1,nfft);
pxx11=abs(cxk1);
plot_pxx11=10*log10(pxx11(index+1));
figure(2);
subplot(2,1,1);
plot(k,plot_pxx1);
title('s信号的周期图法功率谱');
subplot(2,1,2);
plot(k,plot_pxx11*10);
title('间接法功率谱');
xk2=fft(s1,nfft);
pxx2=abs(xk2).^2/length(s1);
plot_pxx2=10*log10(pxx2(index+1));
%f=(0:length(plot_pxx2)-1)*fs/length(plot_pxx2);
cxn2=xcorr(s1,'unbiased');
cxk2=fft(cxn2,nfft);
pxx21=abs(cxk2);
plot_pxx21=10*log10(pxx21(index+1));
figure(3);
subplot(2,1,1);
plot(k,plot_pxx2);
title('s1信号的周期图法功率谱');
subplot(2,1,2);
plot(k,plot_pxx21);
title('间接法功率谱');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -