国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

現(xiàn)代信號處理實驗:MATLAB實現(xiàn)LD算法進行AR估計

這篇具有很好參考價值的文章主要介紹了現(xiàn)代信號處理實驗:MATLAB實現(xiàn)LD算法進行AR估計。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

MATLAB實現(xiàn)LD算法進行AR估計

利用給定的一組樣本數(shù)據(jù)估計一個平穩(wěn)隨機信號的功率譜密度稱為功率譜估計,又稱譜估計。譜估計的方法可以分成經(jīng)典譜估計和現(xiàn)代譜估計。

經(jīng)典譜估計又稱為非參數(shù)化的譜估計,分為直接法和間接法。直接法是指直接計算樣本數(shù)據(jù)的傅里葉變換,即獲取頻譜,然后計算頻譜和其共軛的乘積,就得到功率譜;間接法是指先計算樣本數(shù)據(jù)的自相關(guān)函數(shù),然后計算自相關(guān)函數(shù)的傅里葉變換,即得到功率譜。經(jīng)典譜估計存在很多的缺陷,主要原因是對數(shù)據(jù)加窗時默認在窗外未觀測到的數(shù)據(jù)的自相關(guān)系數(shù)為 0,這顯然是不切實際的;此外樣本數(shù)據(jù)是有限長的,而經(jīng)典譜估計往往需要較長的數(shù)據(jù)才能獲得較好性能,而且加窗函數(shù)也容易造成譜的模糊,因此我們需要參數(shù)化的譜估計,也就是現(xiàn)代譜估計。

現(xiàn)代譜估計中一類常用的模型是AR模型估計。

AR估計原理

AR 模型的表達式為:
ld算法 matlab,通信專業(yè)課程筆記,信號處理,matlab

上式兩邊同時作 Z 變換,得到:
ld算法 matlab,通信專業(yè)課程筆記,信號處理,matlab

AR 模型的原理就是根據(jù)觀測到的數(shù)據(jù)x(n)來估計 a i {a_i} ai?,從而估計輸入信號的功率譜。具體來說就是將輸入信號x(n)看成一個均值為 0,方差為 σ 2 \sigma^2 σ2的高斯噪聲通過信道得到的;先通過觀測數(shù)據(jù)估計信道參數(shù) a i {a_i} ai?,再結(jié)合 z 變換公式來計算輸入信號的功率譜。

AR 過程的線性預(yù)測和 Levinson-Durbin 算法
ld算法 matlab,通信專業(yè)課程筆記,信號處理,matlab

求解上述Yule-Walker方程的常用算法是 Levinson-Durbin 算法,具體推導(dǎo)過程如下:p-1 階的 Yule-Walker 方程如下:

ld算法 matlab,通信專業(yè)課程筆記,信號處理,matlab

代碼實現(xiàn)

算法步驟:

根據(jù) Levinson-Durbin 算法進行遞推,來計算 AR 模型的各階參數(shù)。采用最終預(yù)測誤差 FPE 法來確定 AR 模型階數(shù) p。

  1. 初始化:ld算法 matlab,通信專業(yè)課程筆記,信號處理,matlab

  2. 迭代計算:ld算法 matlab,通信專業(yè)課程筆記,信號處理,matlab

  3. 若k>p或者誤差小于閾值,返回各階次參數(shù)

  4. 對比估計信號和實際信號,觀察并分析結(jié)果

代碼:

LD_AR function函數(shù)存放在LD_AR.m文件中:

function [R,order, params, var] = LD_AR(x)
N = length(x)-1;

%% 自相關(guān)矩陣
R = zeros(N, 1);
for n = 1:N
   R(n) = x(1:N-n+1) * (x(n:N))' /N;
end

%% LD 算法
a = zeros(N+1,N+1);
rho = zeros(1,N+1);
FPE = zeros(1,N+1);
rho(1) = R(1);
a(1,1) = -R(2)/R(1);
rho(2) = rho(1)*(1-abs(a(1,1))^2);
FPE(1) = (N+1)/(N-1) * rho(2);
for k=2:N-1
    S = 0;
    for m = 1:k-1
        S = S + a(k-1,m) * R(k-m+1);
    end
    a(k,k) = -(R(k+1)+S)/rho(k);
    for i = 1:k-1
        a(k,i) = a(k-1,i) + a(k,k) * a(k-1,k-i);
    end
    rho(k+1) = rho(k)*(1-a(k,k)^2);
    FPE(k) = (N+k)/(N-k) * rho(k+1);
end

%% 利用FPE確定AR模型階數(shù)
min = FPE(1);
disp 'min:'
disp(min)
for k = 2:N-1
    if abs(FPE(k))<abs(min)
        min = FPE(k);
        order = k;
    end
end
params = [1, a(order,1:order)];
var = abs(rho(order+1));
end

main.m文件:文章來源地址http://www.zghlxwxcb.cn/news/detail-768116.html

clear;
clc;

%% 產(chǎn)生一組樣本點
awgn_noise = randn(1,1000); 
a_model = [1 -0.6 0.4 -0.3]; 
% a_model = [1 -0.4 0.2 -0.2 0.4]; 
x = filter(1, a_model, awgn_noise);

%% LD算法估計AR參數(shù)
[R,order, a, var] = LD_AR(x)

%% 原始信號 s
number=1000;
w = linspace(-pi,pi,number); 
s = zeros([1,number]);
for m = 1:number 
    c = w(m); 
    kk = [1: length(a_model)-1];
    s(m) = 1 /(abs(1+ a_model(2:end)* exp(-1i*c*kk')))^2; 
end  

%% 估計信號 s_hat
s_hat = zeros([1,number]);
for m = 1:number 
    c = w(m); 
    kk = [1: length(a)-1];
    s_hat(m) = 1 /(abs(1+ a(2:end)* exp(-1i*c*kk')))^2; 
end  

%% 繪制頻譜
figure;
set(gcf,'position',[700, 200, 1400, 350])
subplot(1,3,1);
plot(w,s, 'b');
grid on
set(gca,'Xtick',[-pi,-pi/2,0, pi/2,pi]);
set(gca,'XTickLabel',{'-pi' '-pi/2' '0' 'pi/2' 'pi'});
title('原始信號功率譜','fontsize', 12); 
xlabel('頻率','fontsize', 12);
ylabel('功率','fontsize', 12);
ylim([0,7]);

subplot(1,3,2);
plot(w,s_hat, 'r-'); 
grid on
set(gca,'Xtick',[-pi,-pi/2,0, pi/2,pi]);
set(gca,'XTickLabel',{'-pi' '-pi/2' '0' 'pi/2' 'pi'});
title('LD算法進行AR估計功率譜', 'fontsize', 12); 
xlabel('頻率','fontsize', 12);
ylabel('功率','fontsize', 12);
ylim([0,7]);

subplot(1,3,3);
plot(w,s,'b'); 
hold on
plot(w,s_hat, 'r--');
hold off
grid on
set(gca,'Xtick',[-pi,-pi/2,0, pi/2,pi]);
set(gca,'XTickLabel',{'-pi' '-pi/2' '0' 'pi/2' 'pi'});
title('原始信號功率譜和LD算法進行AR估計比較', 'fontsize', 12); 
xlabel('頻率','fontsize', 12);
ylabel('功率','fontsize', 12);
legend('原始信號','AR估計信號')
ylim([0,7]);


% clc;
% clear;
% 
% % 構(gòu)造加入高斯白噪聲的樣本點函數(shù)
% f1=0.4;
% f2=0.2;
% N=input('產(chǎn)生的樣本點個數(shù)N:');
% n=1:N;
% wn=randn(1,N);% 產(chǎn)生高斯白噪聲
% xn=sin(2*pi*f1*n+pi/3)+10*sin(2*pi*f2*n+pi/4);
% yn=xn+wn;
% 
% Rx=xcorr(yn,'biased');
% 
% k=1:N;
% f=k/N;
% Sx=abs(fft(Rx,N));
% plot(f,Sx);
% title('功率譜');
% xlabel('f');
% ylabel('Sx');
% 
% % 根據(jù)自相關(guān)函數(shù)估計f1,f2
% sxk=zeros(1,N/2);
% for k=1:N/2
%     sxk(k)=Sx(k);
% end
% 
% [pks,locs]=findpeaks(sxk,'SortStr','descend');
% locs(1)
% locs(2)
% for i=1:2
%     fprintf('預(yù)測結(jié)果:f%d=%f\n',i,locs(i)/N);
% end

到了這里,關(guān)于現(xiàn)代信號處理實驗:MATLAB實現(xiàn)LD算法進行AR估計的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 數(shù)字信號處理實驗---Z變換及系統(tǒng)的零極點分析 Matlab代碼

    數(shù)字信號處理實驗---Z變換及系統(tǒng)的零極點分析 Matlab代碼

    一.各種函數(shù)的用法 1.tf2zp函數(shù):通常用于將傳遞函數(shù)(Transfer Function)轉(zhuǎn)換為零極增益形式(ZPK form),轉(zhuǎn)換前G(s) = num(s) / den(s),轉(zhuǎn)換后G(s) = K * (s - z1) * (s - z2) * ... * (s - zn) / (s - p1) * (s - p2) * ... * (s - pn) 2.zp2tf函數(shù):用于將零極增益形式(ZPK form)轉(zhuǎn)換為傳遞函數(shù)(Transfer Fu

    2024年01月23日
    瀏覽(28)
  • 現(xiàn)代信號處理——隨機信號的統(tǒng)計描述

    現(xiàn)代信號處理——隨機信號的統(tǒng)計描述

    一、信號的分類 確定性信號:能夠以確定的時間函數(shù)表示的信號,信號在任何時刻的取值都是固定的,信號的取值都是可以通過表達式算出來的。 隨機信號:稱為不確定信號或隨機過程,不是時間的確定函數(shù),沒有確定的表達式,只能通過觀察去得到它的樣本。 例如,觀察

    2023年04月10日
    瀏覽(22)
  • 現(xiàn)代信號處理——盲信號分離(盲信號分離的基本理論)

    現(xiàn)代信號處理——盲信號分離(盲信號分離的基本理論)

    一、背景 盲信號分離的研究源自Jutten與Herault于1991年發(fā)表的論文。Comon于1994年提出盲信號分離的獨立分量分析方法。正是他們的開拓性工作極大地推動了盲信號分離的研究,使得盲信號分離成為近30多年來信號處理界、機器學習界與神經(jīng)計算界的一個研究熱點。以廣泛的應(yīng)用

    2024年02月13日
    瀏覽(27)
  • 【數(shù)字信號處理課程設(shè)計】基于MATLAB實現(xiàn)語音信號的采集與處理(偏重濾波)

    【數(shù)字信號處理課程設(shè)計】基于MATLAB實現(xiàn)語音信號的采集與處理(偏重濾波)

    目錄 一、目標與任務(wù) 二、原理介紹 2.1 錄音原理 2.2 濾波器的設(shè)計原理及設(shè)計方法 2.3 IIR 數(shù)字濾波器設(shè)計原理 2.4 雙線性變換法 三、GUI界面設(shè)計與實現(xiàn) 四、基于MATLAB仿真 4.1實驗過程 4.2 結(jié)果分析 五、總結(jié) 5.1 函數(shù)用法總結(jié) 5.2?心得體會 六、參考文獻 這個項目在我的B站上有專

    2024年01月18日
    瀏覽(32)
  • 現(xiàn)代信號處理-現(xiàn)代功率譜密度估計AR模型

    現(xiàn)代信號處理-現(xiàn)代功率譜密度估計AR模型

    本欄前兩節(jié)經(jīng)典譜估計中提到: 經(jīng)典譜估計下,方差和分辨率是一對矛盾 。這是因為經(jīng)典譜估計將數(shù)據(jù)進行了加窗,自相關(guān)法還對自相關(guān)進行了加窗(二次加窗),這就讓我們想到把 原始數(shù)據(jù)藏在一個系統(tǒng)H(Z)中 ,讓這個系統(tǒng)包含這組數(shù)據(jù)的特性,這樣一來,系統(tǒng)中的系數(shù)

    2024年02月07日
    瀏覽(24)
  • 雷達信號處理算法:靜態(tài)雜波濾除(附MATLAB代碼和數(shù)據(jù))

    雷達信號處理算法:靜態(tài)雜波濾除(附MATLAB代碼和數(shù)據(jù))

    本文編輯:調(diào)皮哥的小助理 本期文章將介紹三種雷達信號處理常用的靜態(tài)雜波濾方法的基本原理,分別是零速通道置零法、動目標顯示(MTI)以及相量均值相消算法(平均相消算法),并分析了靜態(tài)雜波的濾除效果,以及三種方法的優(yōu)缺點和應(yīng)用場景,最后提供了一個MATLA

    2024年02月15日
    瀏覽(73)
  • 數(shù)字信號處理實驗:IIR數(shù)字濾波器設(shè)計及軟件實現(xiàn)

    數(shù)字信號處理實驗:IIR數(shù)字濾波器設(shè)計及軟件實現(xiàn)

    目錄 一、實驗?zāi)康?二、實驗原理 三、實驗設(shè)備 四、實驗內(nèi)容及步驟 五、實驗結(jié)果及分析 六、實驗主程序框圖及程序清單 七、實驗總結(jié) 熟悉用雙線性變換法設(shè)計IIR數(shù)字濾波器的原理與方法; 學會調(diào)用MATLAB信號處理工具箱中濾波器設(shè)計函數(shù)(或濾波器設(shè)計分析工具FDATool)設(shè)

    2024年02月12日
    瀏覽(25)
  • 162基于matlab的多尺度和譜峭度算法對振動信號進行降噪處理

    162基于matlab的多尺度和譜峭度算法對振動信號進行降噪處理

    基于matlab的多尺度和譜峭度算法對振動信號進行降噪處理,選擇信號峭度最大的頻段進行濾波,輸出多尺度譜峭度及降噪結(jié)果。程序已調(diào)通,可直接運行。 162 matlab 信號處理 多尺度譜峭度 (xiaohongshu.com)

    2024年02月19日
    瀏覽(23)
  • 現(xiàn)代信號處理——自適應(yīng)濾波器(匹配濾波器)

    現(xiàn)代信號處理——自適應(yīng)濾波器(匹配濾波器)

    信號處理的目的是從噪聲中提取信號,得到不受干擾影響的真正信號。采用的處理系統(tǒng)稱為濾波器。 實時信號處理中,希望濾波器的參數(shù)可以根據(jù)系統(tǒng)或環(huán)境的變化進行更新,稱為自適應(yīng)濾波器。 濾波器的分類: 線性濾波器、非線性濾波器; FIR濾波器、IIR濾波器; 時域濾

    2023年04月27日
    瀏覽(35)
  • 一、信號處理 ——impseq函數(shù)與stepseq函數(shù)(Matlab實現(xiàn))

    一、信號處理 ——impseq函數(shù)與stepseq函數(shù)(Matlab實現(xiàn))

    在腳本中直接運行一次即可,在matlab左側(cè)生成impseq.m文件與stepseq.m文件 1. 單位脈沖函數(shù)impseq. 2. 單位階躍函數(shù)stepseq. 僅用于學習記錄~

    2024年02月06日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包