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

頻域累積演算法

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

閱讀全文

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

熱點內容
jtbcphp 瀏覽:337
編程時遇到源代碼未編譯如何處理 瀏覽:431
綠源app怎麼查看綁定系統 瀏覽:357
qq里的壓縮文件怎麼保存 瀏覽:349
傷寒論桂林pdf 瀏覽:684
樹洞app怎麼搜索好友 瀏覽:217
冷庫壓縮機如何注油 瀏覽:641
無線wifi怎麼加密呢 瀏覽:432
linuxjava配置環境變數 瀏覽:702
rust伺服器怎麼下載地圖 瀏覽:831
程序員那麼可愛被誤會的片段 瀏覽:39
好玩免費的伺服器地址 瀏覽:344
vb腳本編譯 瀏覽:18
單片機led顯示數字 瀏覽:379
vim編譯器是什麼 瀏覽:385
ava程序員面試標准 瀏覽:791
安卓原生系統狀態欄編譯美化 瀏覽:64
java線程是什麼意思 瀏覽:710
如何查看伺服器的外網ip地址 瀏覽:721
命令方塊放置方塊 瀏覽:367