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

頻域累積演算法

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

閱讀全文

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

熱點內容
如何找下載的app 瀏覽:470
程序員之死最新進展 瀏覽:261
台電u盤可以下載加密嗎 瀏覽:697
java培訓機構上海 瀏覽:616
長城伺服器怎麼裝機 瀏覽:355
pm和hm哪個軟體編程好 瀏覽:205
咋樣把文件夾強力去除 瀏覽:989
jvmgc演算法 瀏覽:599
我的世界怎樣控制命令方塊發文字 瀏覽:863
期貨翻番計演算法 瀏覽:495
華為底部app如何增加 瀏覽:115
為什麼用了幾個星期的安卓充電器就壞了 瀏覽:358
伺服器風扇響怎麼回事 瀏覽:16
django打包編譯 瀏覽:196
u盤加密碼視頻 瀏覽:165
cmake創建文件夾 瀏覽:935
SDP單片機 瀏覽:377
pdf拼合列印 瀏覽:524
big是哪個軟體的文件夾 瀏覽:780
win10ksm伺服器地址 瀏覽:341