導航:首頁 > 源碼編譯 > 頻域累積演算法

頻域累積演算法

發布時間:2023-05-09 15:23:00

㈠ 如何用matlab實現頻域塊LMS演算法

先對t離散化,然後FFT,再畫個幅頻和相頻就可以了。
不過貌似你這個式子有點問題,randn產生1*1024的高斯雜訊已經指定了s的維數了,所以t必須去1024個離散值,限定了t的取值了。
你可以參考下面的程序,建議你看懂之後自己編一下。
這是對sin(x)求幅頻相頻
%用fft求幅頻相頻
clc;%清空
clearall;%清除所有變數
closeall;%關閉所有窗口
A=10;%振幅
fw=50;%固有頻率
phi=pi/3;%相位
step=1000;
t=0:1/step:10*pi;%時間t
y=A*sin(2*pi*fw*t+phi);%正弦函數y
f=step*(0:256)/512;%頻率
subplot(3,1,1);%三行一列第一幅圖
plot(t,y);%繪制圖形
xlabel('t/s','fontsize',13);%橫坐標顯示t/s,字型大小13
ylabel('y','fontsize',13);%縱坐標顯示y,字型大小13
title('正弦函數曲線','fontsize',13);%顯示標題
Y=fft(y,512);%對y進行傅里葉變換
subplot(3,1,2);%三行一列第二幅圖
plot(f,abs(Y(1:257)));%繪制圖形
xlabel('f/Hz','fontsize',13);%橫坐標顯示f/Hz,字型大小13
ylabel('幅值','fontsize',13);%縱坐標顯示幅值,字型大小13
title('幅頻特性曲線','fontsize',13);%顯示標題
[value,index]=max(abs(Y));%將abs(Y)最大值點的橫坐標、縱坐標分別賦給
value和index
text(f(index),value,sprintf('maxpiont=(%f,%f)',f(index),value),'fonts
ize',13);%顯示最大值點坐標
subplot(3,1,3);%三行一列第三幅圖
plot(f,angle(Y(1:257))*180/pi);%繪制圖形
xlabel('f/Hz','fontsize',13);%橫坐標顯示f/Hz,字型大小13
ylabel('相位/°','fontsize',13);%縱坐標顯示相位/°,字型大小13
title('相位特性曲線','fontsize',13);%顯示標題

閱讀全文

與頻域累積演算法相關的資料

熱點內容
如何在vps上搭建自己的代理伺服器 瀏覽:742
nginxphp埠 瀏覽:401
內臟pdf 瀏覽:150
怎麼看雲伺服器架構 瀏覽:83
我的世界國際服為什麼登不進伺服器 瀏覽:994
微盟程序員老婆 瀏覽:928
intellij創建java 瀏覽:110
java連接odbc 瀏覽:38
啟動修復無法修復電腦命令提示符 瀏覽:359
手機編程是什麼 瀏覽:98
山東移動程序員 瀏覽:163
蘇州java程序員培訓學校 瀏覽:477
單片機液晶驅動 瀏覽:854
魔拆app里能拆到什麼 瀏覽:131
新預演算法的立法理念 瀏覽:144
wdcpphp的路徑 瀏覽:134
單片機p0口電阻 瀏覽:926
瀏覽器中調簡訊文件夾 瀏覽:594
五菱宏光空調壓縮機 瀏覽:68
為什麼app佔用幾百兆 瀏覽:680