資源簡介
信號為兩個正弦信號加高斯白噪聲,各正弦信號的信噪比均為10dB,長度為N,信號頻率分別為f1,f2;初始相位均為0,取f1/fs=0.2,f2/fs取不同數值:0.3、0.25,,fs為采樣頻率。利用經典功率譜估計和現代功率估計方法進行功率譜估計
代碼片段和文件信息
%%現代估計
clc;
clear?all;
fs=1;%采樣頻率
N=50;???%信號長度
f1=0.2*fs;
f2=0.3*fs;
M2=15;??????%模型階數
M1=10;
M0=6;
N_0=10;%分段長度
N_1=45;
N_2=50;
n=0:N-1;?????
n=n./fs;???%時間序列
x=sin(2*pi*f1*n)+sin(2*pi*f2*n);
x=awgn(x10);%加入10dB高斯噪聲的信號
[px_1f_1]=pburg(xM2[][]);%階數15?Burg法估計
[px_2f_2]=pyulear(xM2[][]);%階數15?Yule-walker法估計
[px_11f_11]=pburg(xM1[][]);%階數10?Burg法估計
[px_21f_21]=pyulear(xM1[][]);%階數10?Yule-walker法估計
[px_10f_10]=pburg(xM0[][]);%階數6?Burg法估計
[px_20f_20]=pyulear(xM0[][]);%階數6?Yule-walker法估計
figure;
subplot(221);
plot(nx);
xlabel(‘t(s)‘);ylabel(‘x‘);title(‘原始信號‘);
subplot(222);
plot(f_2px_2);
xlabel(‘頻率‘);ylabel(‘幅度(dB)‘);title(‘Yule-walker法估計功率譜(長度100,階數15)‘);
subplot(223);
plot(f_1px_1);
xlabel(‘頻率‘);ylabel(‘幅度(dB)‘);title(‘Burg法估計功率譜(長度100,階數15)?‘);
figure;
subplot(221);
plot(nx);
xlabel(‘t(s)‘);ylabel(‘x‘);title(‘原始信號‘);
subplot(222);
plot(f_21px_21);
xlabel(‘頻率‘);ylabel(‘幅度(dB)‘);title(‘Yule-walker法估計功率譜(長度50,階數10)‘);
subplot(223);
plot(f_11px_11);
xlabel(‘頻率‘);ylabel(‘幅度(dB)‘);title(‘Burg法估計功率譜(長度50,階數10)?‘);
figure;
subplot(221);
plot(nx);
xlabel(‘t(s)‘);ylabel(‘x‘);title(‘原始信號‘);
subplot(222);
plot(f_20px_20);
xlabel(‘頻率‘);ylabel(‘幅度(dB)‘);title(‘Yule-walker法估計功率譜(長度100,階數
- 上一篇:matlab均值濾波函數
- 下一篇:用差分法求解偏微分方程
評論
共有 條評論