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

歡迎訪問 生活随笔!

生活随笔

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

循环神经网络

基2FFT算法matlab程序编写,基2时抽8点FFT的matlab实现流程及FFT的内部机理

發(fā)布時(shí)間:2023/12/9 循环神经网络 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基2FFT算法matlab程序编写,基2时抽8点FFT的matlab实现流程及FFT的内部机理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

本來想用verilog描述FFT算法,雖然是8點(diǎn)的FFT算法,但寫出來的資源用量及時(shí)延也不比調(diào)用FFT IP的好,

還是老實(shí)調(diào)IP吧,了解內(nèi)部機(jī)理即可,無需重復(fù)發(fā)明輪子。

參考

流程

FFT能做什么在此就不贅述了,只了解數(shù)據(jù)的運(yùn)算流程。

1.FFT的基本公式:

第一眼看這個(gè)公式,肯定是腦袋瞬間宕機(jī)。

2.旋轉(zhuǎn)因子:記住旋轉(zhuǎn)因子具有可約性,對(duì)稱性,周期性。

表示方法有兩種,通過歐拉公式轉(zhuǎn)換,本質(zhì)上是一致的。

Wn=exp(-j*2*k*pi/N) ,N表示FFT點(diǎn)數(shù),k表示第幾個(gè)旋轉(zhuǎn)因子。

Wn = cos(2*pi*k/N) - i*sin(2*pi*k/N)

第二次腦袋瞬間宕機(jī)。

3.蝶形圖:

好在數(shù)學(xué)家為了普通人類能理解公式,繪制了帥氣的蝴蝶漫畫圖,8點(diǎn)FFT的如下:

不直觀,添加幾條輔助線再看:可以看到分為三級(jí)蝶形運(yùn)算。

比如第一級(jí)的蝶形運(yùn)算結(jié)果:x0’=x[0]+x[4]*w0,x1’=x[0]-x[4]*w0。其他節(jié)點(diǎn)以此類推。

注意-1的位置和旋轉(zhuǎn)因子的位置。注意數(shù)據(jù)和旋轉(zhuǎn)因子都是復(fù)數(shù),這就是說蝶形圖中的乘法和加減都是復(fù)數(shù)運(yùn)算。

而所謂代碼實(shí)現(xiàn),不管什么代碼,本質(zhì)上就是對(duì)各級(jí)的公式進(jìn)行實(shí)現(xiàn),從而得到結(jié)果。

覺得講得不清楚,那么看下圖更直觀:當(dāng)然圖中少標(biāo)識(shí)了-1。

4.數(shù)據(jù)輸入倒序:

從上圖左側(cè)可以看到,序列按照了一定的規(guī)則進(jìn)行了倒序,如果按照順序進(jìn)行數(shù)據(jù)輸入,肯定是不正確的。十進(jìn)制可能看不出來,但使其轉(zhuǎn)換為二進(jìn)制表示就可以知道:

5.Matlab驗(yàn)證算法:

到這一步,就可以把蝶形結(jié)構(gòu)用matlab語言描述出來了。蝶形因子進(jìn)行了2^16次放大,數(shù)據(jù)經(jīng)過了兩級(jí)放大,結(jié)果需除去放大因子。

x序列為fs=500hz采樣下的125hz且有直流分量的8點(diǎn)采樣信號(hào)。

clc;

clear all;

close all;

%放大了2^16次的系數(shù)

w0 = ;

w1 = - *i;

w2 = -*i;

w3 = - - *i;

% w0 = ;

% w1 = 0.7071 - 0.7071*1i;

% w2 = -1i;

% w3 = -0.7071 - 0.7071*1i;

x = [,,,-,,,,-];

%%第一級(jí)蝶形運(yùn)算,沒有放大

x1()=x()+x();

x1()=x()-x();

x1()=x()+x();

x1()=x()-x();

x1()=x()+x();

x1()=x()-x();

x1()=x()+x();

x1()=x()-x();

%%第二級(jí)蝶形運(yùn)算放大了65536,因?yàn)橄禂?shù)放大了2^,其他部分應(yīng)當(dāng)相應(yīng)的放大

x2()=x1()*+x1()*;

x2()=x1()*+x1()*(w2);

x2()=x1()*-x1()*;

x2()=x1()*-x1()*(w2);

x2()=x1()*+x1()*;

x2()=x1()*+x1()*(w2);

x2()=x1()*-x1()*;

x2()=x1()*-x1()*(w2);

%%第三級(jí)蝶形運(yùn)算放大了65536,因?yàn)橄禂?shù)放大了2^,其他部分相應(yīng)的進(jìn)行放大

y()=x2()*+x2()*;

y()=x2()*+x2()*(w1);

y()=x2()*+x2()*(w2);

y()=x2()*+x2()*(w3);

y()=x2()*-x2()*;

y()=x2()*-x2()*(w1);

y()=x2()*-x2()*(w2);

y()=x2()*-x2()*(w3);

% plot(abs(y/(^))-abs(fft(x)))

figure;

plot(x);

title('x value');

figure;

plot(abs(y/(^)));

title('旋轉(zhuǎn)因子放大取整計(jì)算結(jié)果');

figure;

plot(abs(fft(x)));

title('matlab自帶fft函數(shù)計(jì)算結(jié)果');

6.查看一下勞動(dòng)成果:可以看到matlab自帶的FFT和手動(dòng)蝶形算出的FFT結(jié)果是一致的。

7.轉(zhuǎn)成verilog描述,無非就是對(duì)各級(jí)的蝶形公式進(jìn)行相關(guān)的實(shí)現(xiàn)。

注意:(1)乘法和加減法為復(fù)數(shù)運(yùn)算。

(2)各級(jí)位寬需要注意,避免溢出。

看到蝶形圖及相關(guān)公式,可以看到還是有點(diǎn)算法復(fù)雜度的。

雖然可以手敲實(shí)現(xiàn),但FPGA廠商已經(jīng)提供了足夠好用的FFT IP core,資源量和計(jì)算延遲都很nice,

所以還是老實(shí)用IP吧。哈哈

8.FFT的一些性質(zhì):

(1)采樣速率和點(diǎn)數(shù)的關(guān)系:

頻譜分辨率△f=fs/N。點(diǎn)數(shù)和采樣速率共同決定了FFT的頻譜分辨率。

某一個(gè)點(diǎn)的頻率關(guān)系:f=k*fs/N。注意FFT計(jì)算結(jié)果的第一點(diǎn)為直流分量。

(2)柵欄效應(yīng)及補(bǔ)零處理:

頻譜分辨率決定了透過柵欄窗子看真實(shí)頻譜的真實(shí)度。補(bǔ)零可使得離散譜外觀更加平滑,同時(shí)增長(zhǎng)序列長(zhǎng)度。

(3)FFT變換后的頻域模幅度對(duì)應(yīng)關(guān)系:

FFT計(jì)算出的第0個(gè)點(diǎn)為直流分量,其模值為直流分量的N倍。其余位置求得的模值需要除以N/2,才為真實(shí)的模值。

第0點(diǎn):模值/N

其他頻率點(diǎn):模值/(N/2)

(4)頻域幅度及相位計(jì)算:

某點(diǎn)(im,re)的幅度信息為:sqrt(im^2+re^2),即實(shí)部平方加虛部平方開根號(hào)。

相位為:atan(im/re),反三角算即可,即為本頻譜時(shí)域的初相。

以上。

Matlab計(jì)算的FFT與通過Origin計(jì)算的FFT

實(shí)驗(yàn)的過程中,經(jīng)常需要對(duì)所采集的數(shù)據(jù)進(jìn)行頻譜分析,軟件的選擇對(duì)計(jì)算速度影響挺大的.我在實(shí)驗(yàn)過程中,通常使用Origin7.5來進(jìn)行快速傅里葉變換,因?yàn)榉奖憧旖?計(jì)算之后,繪出來的圖也容易編輯.但是當(dāng)數(shù) ...

多項(xiàng)式函數(shù)插值:全域多項(xiàng)式插值(一)單項(xiàng)式基插值、拉格朗日插值、牛頓插值 [MATLAB]

全域多項(xiàng)式插值指的是在整個(gè)插值區(qū)域內(nèi)形成一個(gè)多項(xiàng)式函數(shù)作為插值函數(shù).關(guān)于多項(xiàng)式插值的基本知識(shí),見“計(jì)算基本理論”. 在單項(xiàng)式基插值和牛頓插值形成的表達(dá)式中,求該表達(dá)式在某一點(diǎn)處的值使用的Horner嵌 ...

Matlab周期圖法使用FFT實(shí)現(xiàn)

參考文章:http://www.cnblogs.com/adgk07/p/9314892.html 首先根據(jù)他這個(gè)代碼和我之前手上已經(jīng)擁有的那個(gè)代碼,編寫了一個(gè)適合自己的代碼. 首先模仿他的代碼,測(cè)試 ...

FFT教你做乘法(FFT傅里葉變換)

題目來源:https://biancheng.love/contest/41/problem/C/index FFT教你做乘法 題目描述 給定兩個(gè)8進(jìn)制正整數(shù)A和B(A和B均小于10000位),請(qǐng)利用 ...

對(duì)AM信號(hào)FFT的matlab仿真

普通調(diào)幅波AM的頻譜,大信號(hào)包絡(luò)檢波頻譜分析 u(t)=Ucm(1+macos ?t)cos ?ct ma稱為調(diào)幅系數(shù) 它的頻譜由載波,上下邊頻組成 , 包絡(luò)檢波中二極管截去負(fù)半周再用電容低通濾波,可 ...

將caffe訓(xùn)練時(shí)loss的變化曲線用matlab繪制出來

1. 首先是提取 訓(xùn)練日志文件; 2. 然后是matlab代碼: clear all; close all; clc; log_file = '/home/wangxiao/Downloads/43_ ...

幾種快速傅里葉變換(FFT)的C++實(shí)現(xiàn)

鏈接:http://blog.csdn.net/zwlforever/archive/2008/03/14/2183049.aspx一篇不錯(cuò)的FFT 文章,收藏一下.?DFT的的正變換和反變換分別為( ...

Xilinx FFT IP v9.0 使用(一)

reference:https://blog.csdn.net/shichaog/article/details/51189711 https://blog.csdn.net/qq_36375505/ ...

隨機(jī)推薦

webpack練手項(xiàng)目之easySlide(一):初探webpack (轉(zhuǎn))

最近在學(xué)習(xí)webpack,正好拿了之前做的一個(gè)小組件,圖片輪播來做了下練手,讓我們一起來初步感受下webpack的神奇魅力. ????webpack是一個(gè)前端的打包管理工具,大家可以前往:http:/ ...

IE 下JS和CSS 阻塞后面內(nèi)容總結(jié)

總結(jié): 1.? CSS?都是可以并行下載的. 2.? IE6?和?IE7 ? JS?不能并行下載,CSS?和?JS?阻塞后面內(nèi)容下載. 3.? IE8 ? JS?還是會(huì)阻塞圖片下載 開始改變加載模式, ...

Bootstrap的學(xué)習(xí)以及簡(jiǎn)單運(yùn)用

檸檬學(xué)院

How a non-windowed component can receive messages from Windows -- AllocateHWnd

http://www.delphidabbler.com/articles?article=1 Why do it? Sometimes we need a non-windowed componen ...

Linux性能監(jiān)控分析命令

vmstat sar iostat top free uptime netstat ps strace lsof

iOS GCD 與 NSOperationQueue

NSOperationQueue ios NSOperation vs. GCD StackOverflow: NSOperation vs. Grand Central Dispatch Blog: ...

關(guān)于Servlet會(huì)話跟蹤的那些事兒

關(guān)于servlet會(huì)話跟蹤,一搜都能搜出很多.我也不免落入俗套,也總結(jié)了一把.希望我所總結(jié)的知識(shí)盡量是知識(shí)海洋里的一汪清泉.能幫助到我自己和哪怕一個(gè)人,那也是值得的. 故事由來: 我們知道,http協(xié) ...

find grep

grep grep -rn "hello,world!" * #遞歸查找當(dāng)前目錄下所有包含hello,world的文件 grep -C number pattern files : ...

java的JCombobox實(shí)現(xiàn)中國(guó)省市區(qū)三級(jí)聯(lián)動(dòng)

源代碼下載:點(diǎn)擊下載源代碼 用xml存儲(chǔ)中國(guó)各大城市的數(shù)據(jù). xml數(shù)據(jù)太多了就不貼上了,貼個(gè)圖片: 要解釋xml,添加了一個(gè)jdom.jar,上面的源代碼下載里面有. 解釋xml的類: packag ...

Mac 系統(tǒng)下創(chuàng)建可雙擊執(zhí)行文件,cd到執(zhí)行文件當(dāng)前目錄

在mac下之前我一直用.sh文件,但是要去終端里才能執(zhí)行,后來得知可以寫.command文件,雙擊及可執(zhí)行,很方便,特此記錄 #!/bin/bash basepath=$(cd `dirname $0 ...

總結(jié)

以上是生活随笔為你收集整理的基2FFT算法matlab程序编写,基2时抽8点FFT的matlab实现流程及FFT的内部机理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。