pjzhouqi.m

来自「对噪声及信号的功率谱估计,生物医学信号处理,matlab编程实现」· M 代码 · 共 25 行

M
25
字号
clear;              %功率谱估计
Fs=10000;            %采样频率    
L=2;                %数据长度
n=0:1/Fs:L;         
N=length(n); 
x1=sin(2*pi*40*n);
e=randn(1,N);%白噪声
x=x1+e;
k=100;
m=(N-1)/k;
xk=zeros(k,m);
X=zeros(k,2*m);
Rx=zeros(k,4*m-1);
M=zeros(k,2*m);
for i=1:k
    xk(i,:)=x((i-1)*m+1:i*m);
    z=zeros(1,m);
    X(i,:)=[xk(i,:) z];            %补零
    Rx(i,:)=xcorr(X(i,:),X(i,:));      %自相关 
    M(i,:)=abs(fft(Rx(i,:),2*m)); %做FFT并取模
end;
Sk=mean(M);
plot((1:2*m)*Fs/(2*m),Sk);  %把横坐标转换成频率,并使数据一致

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?