日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

fft matlab代码,FFT的matlab程序代码

發布時間:2023/12/9 循环神经网络 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 fft matlab代码,FFT的matlab程序代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內容

1.用Matlab產生正弦波,矩形波,以及白噪聲信號,并顯示各自時域波形圖

2.進行FFT變換,顯示各自頻譜圖,其中采樣率,頻率、數據長度自選

3.做出上述三種信號的均方根圖譜,功率圖譜,以及對數均方根圖譜

4.用IFFT傅立葉反變換恢復信號,并顯示恢復的正弦信號時域波形圖

源程序

%*************************************************************************%

% FFT實踐及頻譜分析 %

%*************************************************************************%

%*************************************************************************%

%***************1.正弦波****************%

fs=100;%設定采樣頻率

N=128;

n=0:N-1;

t=n/fs;

f0=10;%設定正弦信號頻率

%生成正弦信號

x=sin(2*pi*f0*t);

figure(1);

subplot(231);

plot(t,x);%作正弦信號的時域波形

xlabel('t');

ylabel('y');

title('正弦信號y=2*pi*10t時域波形');

grid;

%進行FFT變換并做頻譜圖

y=fft(x,N);%進行fft變換

mag=abs(y);%求幅值

f=(0:length(y)-1)'*fs/length(y);%進行對應的頻率轉換

figure(1);

subplot(232);

plot(f,mag);%做頻譜圖

axis([0,100,0,80]);

xlabel('頻率(Hz)');

ylabel('幅值');

title('正弦信號y=2*pi*10t幅頻譜圖N=128');

grid;

%求均方根譜

sq=abs(y);

figure(1);

subplot(233);

plot(f,sq);

xlabel('頻率(Hz)');

ylabel('均方根譜');

title('正弦信號y=2*pi*10t均方根譜');

grid;

%求功率譜

power=sq.^2;

figure(1);

subplot(234);

plot(f,power);

xlabel('頻率(Hz)');

ylabel('功率譜');

title('正弦信號y=2*pi*10t功率譜');

grid;

%求對數譜

ln=log(sq);

figure(1);

subplot(235);

plot(f,ln);

xlabel('頻率(Hz)');

ylabel('對數譜');

title('正弦信號y=2*pi*10t對數譜');

grid;

%用IFFT恢復原始信號

xifft=ifft(y);

magx=real(xifft);

ti=[0:length(xifft)-1]/fs;

figure(1);

subplot(236);

plot(ti,magx);

xlabel('t');

ylabel('y');

title('通過IFFT轉換的正弦信號波形');

grid;

%****************2.矩形波****************%

fs=10;%設定采樣頻率

t=-5:0.1:5;

x=rectpuls(t,2);

x=x(1:99);

figure(2);

subplot(231);

plot(t(1:99),x);%作矩形波的時域波形

xlabel('t');

ylabel('y');

title('矩形波時域波形');

grid;

%進行FFT變換并做頻譜圖

y=fft(x);%進行fft變換

mag=abs(y);%求幅值

f=(0:length(y)-1)'*fs/length(y);%進行對應的頻率轉換

figure(2);

subplot(232);

plot(f,mag);%做頻譜圖

xlabel('頻率(Hz)');

ylabel('幅值');

title('矩形波幅頻譜圖');

grid;

%求均方根譜

sq=abs(y);

figure(2);

subplot(233);

plot(f,sq);

xlabel('頻率(Hz)');

ylabel('均方根譜');

title('矩形波均方根譜');

grid;

%求功率譜

power=sq.^2;

figure(2);

subplot(234);

plot(f,power);

xlabel('頻率(Hz)');

ylabel('功率譜');

title('矩形波功率譜');

grid;

%求對數譜

ln=log(sq);

figure(2);

subplot(235);

plot(f,ln);

xlabel('頻率(Hz)');

ylabel('對數譜');

title('矩形波對數譜');

grid;

%用IFFT恢復原始信號

xifft=ifft(y);

magx=real(xifft);

ti=[0:length(xifft)-1]/fs;

figure(2);

subplot(236);

plot(ti,magx);

xlabel('t');

ylabel('y');

title('通過IFFT轉換的矩形波波形');

grid;

%****************3.白噪聲****************%

fs=10;%設定采樣頻率

t=-5:0.1:5;

x=zeros(1,100);

x(50)=100000;

figure(3);

subplot(231);

plot(t(1:100),x);%作白噪聲的時域波形

xlabel('t');

ylabel('y');

title('白噪聲時域波形');

grid;

%進行FFT變換并做頻譜圖

y=fft(x);%進行fft變換

mag=abs(y);%求幅值

f=(0:length(y)-1)'*fs/length(y);%進行對應的頻率轉換

figure(3);

subplot(232);

plot(f,mag);%做頻譜圖

xlabel('頻率(Hz)');

ylabel('幅值');

title('白噪聲幅頻譜圖');

grid;

%求均方根譜

sq=abs(y);

figure(3);

subplot(233);

plot(f,sq);

xlabel('頻率(Hz)');

ylabel('均方根譜');

title('白噪聲均方根譜');

grid;

%求功率譜

power=sq.^2;

figure(3);

subplot(234);

plot(f,power);

xlabel('頻率(Hz)');

ylabel('功率譜');

title('白噪聲功率譜');

grid;

%求對數譜

ln=log(sq);

figure(3);

subplot(235);

plot(f,ln);

xlabel('頻率(Hz)');

ylabel('對數譜');

title('白噪聲對數譜');

grid;

%用IFFT恢復原始信號

xifft=ifft(y);

magx=real(xifft);

ti=[0:length(xifft)-1]/fs;

figure(3);

subplot(236);

plot(ti,magx);

xlabel('t');

ylabel('y');

title('通過IFFT轉換的白噪聲波形');

grid;

總結

以上是生活随笔為你收集整理的fft matlab代码,FFT的matlab程序代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。