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

歡迎訪問 生活随笔!

生活随笔

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

循环神经网络

matlab正弦函数fft,正弦函数及其FFT变换(一) | 学步园

發布時間:2024/1/18 循环神经网络 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab正弦函数fft,正弦函数及其FFT变换(一) | 学步园 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在MATLAB中想要畫一個sin函數是很容易的,比如:首先定義t = 0:0.01:10,然后畫出y = sin(2*pi*t)就可以了,最多再加相角啊之類的參數,但如果在C語言中應該如何自己制造一個sin函數呢?

應該借鑒數字信號處理里的抽樣思想:想生成函數x(t) = a*sin(2*pi*f0*t+ψ),就應該考慮到抽樣定理:以等時間間隔進行抽樣,即x[n] = x[n*Ts] 其中Ts = 1/fs(fs是抽樣頻率)。這時候想生成的函數x(t)就變成了x(t) = x(n*Ts) = x(n) = a*sin(2*pi*f0*n/fs+ψ) = a*sin(w*n+ψ),其中w是數字角頻率,這就將模擬時間信號轉化成了數字信號。

舉個例子,比如想生成函數y = sin(20*pi*t),用matlab直接生產的圖形如下所示(取t=0:0.001:1)

matlab程序為

t = 0:0.001:1;

y = sin(20*pi*t);

plot(t,y);

如果想用C語言來實現怎么辦呢?從原函數y = sin(20*pi*t)可知f0 = 10,設fs = 40,n = 0:10(這里的n都是整數)來看看,此時x(n) = sin(2*pi*f0*n/fs),matlab程序為

clear all;

f0=10;

fs=40;

N=10;

n=0:N-1;

y=sin(2*pi*n*f0/fs);

畫出來的圖形如下圖:

現在函數式為x[n] =?sin(n*pi/2),周期是4

為什么看著不像以前的正弦函數了?因為這是對原函數抽樣后得到的,而且它的橫坐標已經變成了n而不是t。為了讓抽樣后的x[n]看起來更像x[t]那么方法只有一個,就是增加抽樣率fs。當抽樣率為80時x[n] = sin(n*pi/4),

f0=10;

fs=80;

N=10;

n=0:N-1;

y=sin(2*pi*n*f0/fs);

plot(n,y);

看著更像x(t)了!這是因為抽樣點更密了。

所以產生x(t)=a*sin(2*pi*f0*t+ψ)的正弦波步驟:

對x(t)進行以fs為抽樣頻率的抽樣后得到

x(n)=a*sin(2*pi*f0*n/fs+ψ)=a*sin(w*n+ψ)

畫的時候指明a,f0,fs,ψ就可以對任意sin函數進行畫圖

那么,如何知道現在畫出來的x(n)就是以前的x(t)呢?以前是T = 0.1S,現在變成了T = 8,在這種情況下如何換算呢?就有FFT了!

總結

以上是生活随笔為你收集整理的matlab正弦函数fft,正弦函数及其FFT变换(一) | 学步园的全部內容,希望文章能夠幫你解決所遇到的問題。

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