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

頻域累積演算法

發布時間: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);%顯示標題

閱讀全文

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

熱點內容
pdf出現空白頁 瀏覽:243
平行加速app怎麼退訂 瀏覽:306
mac文件夾怎麼重新命名 瀏覽:884
手機app怎麼用在平板上 瀏覽:235
伺服器cpuc2什麼意思 瀏覽:709
程序員的績效型年終獎 瀏覽:584
程序員心裡不舒服 瀏覽:463
檢測程序員 瀏覽:979
程序員一言不合就被裁員 瀏覽:757
安卓手機上的鍵盤怎麼換 瀏覽:49
孩子的火車票怎麼通過app退票 瀏覽:843
中望dim標注命令是什麼 瀏覽:648
大人喝奶瓶解壓嗎 瀏覽:203
文件夾提示該項目不在 瀏覽:973
推薦演算法博客 瀏覽:49
神奇九轉功能源碼 瀏覽:116
最小公倍數的演算法分析 瀏覽:975
android新窗口 瀏覽:338
為什麼安卓手機做不出按壓反饋 瀏覽:622
單片機需要什麼文化 瀏覽:701