chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MATLAB學(xué)習(xí)筆記之傅里葉變換1

jf_78858299 ? 來源:滑小稽筆記 ? 作者:電子技術(shù)園地 ? 2023-02-24 14:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.1 傅里葉變換

1.1.1 傅里葉變換概述

傅里葉變換是一種可以將滿足某個(gè)條件的函數(shù)表示成三角函數(shù)(正弦或余弦)表示的線性組合,最初,傅里葉分析是作為熱過程解析分析的工具被提出的,在電路中,這是一種分析非正弦周期信號(hào)的最便捷的工具,傅里葉是法國數(shù)學(xué)家和物理學(xué)家,在1807年的法國科學(xué)學(xué)會(huì)上發(fā)表了運(yùn)用正弦曲線來描述溫度分布,但是論文中有一個(gè)具有爭議性的判定,即任何連續(xù)周期信號(hào)都可以由一組適當(dāng)?shù)恼仪€組合而成,當(dāng)時(shí)拉普拉斯與其他審查者投票通過并要發(fā)表這個(gè)論文,但是拉格朗日認(rèn)為傅里葉提供的方法無法表示帶有棱角的信號(hào),由于一些原因,這篇論文直到拉格朗日去世15年后才被發(fā)表,其實(shí)拉格朗日當(dāng)時(shí)的想法是對(duì)的,正弦曲線的確無法組合一個(gè)帶有棱角的信號(hào),但是我們可以采用正弦曲線組合成的信號(hào)來無限的逼近這個(gè)信號(hào),直到兩種信號(hào)不存在能量差別。

通過上面的描述可以得到一個(gè)結(jié)論,傅里葉變換是一種將不規(guī)則信號(hào)通過正弦信號(hào)的線性組合表示出來的方法,但是為什么不用方波或者三角波來表示原信號(hào)呢,這是因?yàn)榉纸庑盘?hào)的方法是無窮的,但分解信號(hào)的目的是為了更加簡單地處理原來的信號(hào)。用正余弦來表示原信號(hào)會(huì)更加簡單,因?yàn)檎嘞覔碛性盘?hào)所不具有的性質(zhì):正弦曲線保真度。一個(gè)正弦曲線信號(hào)輸入后,輸出的仍是正弦曲線,只有幅度和相位可能發(fā)生變化,但是頻率和波的形狀仍是一樣的。且只有正弦曲線才擁有這樣的性質(zhì),正因如此我們才不用方波或三角波來表示。

我們從物理系統(tǒng)的特征信號(hào)角度來解釋為什么不能用其他信號(hào)的線性組合來表示原始信號(hào),我們生活中常見的現(xiàn)象大多屬于 線性時(shí)不變系統(tǒng) (輸入信號(hào)與輸出信號(hào)滿足線性關(guān)系,且系統(tǒng)參數(shù)不隨時(shí)間變換),無論你采用微分方程或者傳遞函數(shù)還是狀態(tài)空間,所以可以說正弦信號(hào)是系統(tǒng)的特征向量,當(dāng)然指數(shù)信號(hào)也是系統(tǒng)的特征向量,用于標(biāo)識(shí)能量的衰減與累計(jì),系統(tǒng)中的衰減或擴(kuò)散現(xiàn)象大多數(shù)是指數(shù)形式或者復(fù)指數(shù)形式,但是如果輸入的是方波或者三角波,那輸出就不一定是什么形式了,所以,除了指數(shù)信號(hào)與正弦信號(hào)外其他信號(hào)都不是線性系統(tǒng)的特征信號(hào)。

1.1.2 時(shí)域與頻域

從我們出生開始,我們看到的世界都是以時(shí)間貫穿,人的身高走勢,汽車的軌跡都會(huì)隨著事件發(fā)生改變,這種以時(shí)間作為參照來觀察分析動(dòng)態(tài)世界的方法就屬于時(shí)域分析,頻域則是描述信號(hào)在頻率方面特性時(shí)用到的一種坐標(biāo)系,頻域不是真實(shí)存在的,只是一種數(shù)學(xué)構(gòu)建的領(lǐng)域,是一個(gè)遵循特定規(guī)則的數(shù)學(xué)范疇,正弦信號(hào)是頻域中唯一存在的波形,即正弦信號(hào)是對(duì)頻域的描述。

1.1.3 定義

也就是說我們只需要求出上面的幾個(gè)參數(shù)的值,就可以根據(jù)定義式將函數(shù)轉(zhuǎn)化為傅里葉級(jí)數(shù)的形式。與傅里葉級(jí)數(shù)相對(duì)應(yīng)的就是傅里葉變換,這個(gè)定義式就簡單的多。

根據(jù)上面的兩個(gè)公式可以發(fā)現(xiàn),傅里葉變換后的象函數(shù)是以頻率作為自變量的函數(shù),而逆變換后的函數(shù)則是以時(shí)間作為自變量的函數(shù),我們將象函數(shù)用圖像的形式表示出來就成了自變量是頻率的二維圖像,這個(gè)圖像就稱為頻譜圖。

1.2 頻域圖像

電路分析基礎(chǔ)中,傅里葉經(jīng)常被用于分析非正弦周期信號(hào)電路中,即講一個(gè)輸入激勵(lì)構(gòu)建數(shù)學(xué)模型,采用積分的方式轉(zhuǎn)化為傅里葉級(jí)數(shù),通過計(jì)算每個(gè)頻率狀態(tài)下的電參數(shù)最終分析電路整體的電參數(shù),這就不僅需要最終的級(jí)數(shù)形式,還需要頻域圖像來輔助分析,在這里,我們采用MATLAB來把上面例題中的頻域圖像繪制出來,MATLAB的源代碼如下:

clc
clear
%系數(shù)計(jì)算(用于構(gòu)建傅里葉級(jí)數(shù))
syms t n;
m = 100 ;                                                    %高次諧波疊加次數(shù)
T = 2 ;                                                      %信號(hào)的周期
f = t^2 ;                                                    %函數(shù)表達(dá)式
a0 = int( f, t, -T/2, T/2 )/T ;
an = int( f*cos(n*pi*t), t, -T/2, T/2 ) ;
bn = int( f*sin(n*pi*t), t, -T/2, T/2 ) ;
%轉(zhuǎn)換定義式的形式
n = -round(T+1):1:round(T+1);
anVal = eval( an ) ;                                       %生成an系數(shù)矩陣
bnVal = eval( bn ) ;                                       %生成bn系數(shù)矩陣
An = sqrt( anVal.^2+bnVal.^2 ) ;                         %幅值開平方計(jì)算
An( round( length(n)/2 ) ) = a0 ;
phi = atan( -bnVal./anVal ) ;                             %相位計(jì)算
phi( round( length(n)/2 ) ) = 0 ;
%繪制幅度譜
figure(1);
subplot( 2, 1, 1 ) ;
stem( n, An ) ;
title( '幅度譜' ) ;
xlabel( 'n' ) ;
ylabel( 'An' ) ;
%繪制相位譜
subplot( 2, 1, 2 ) ;
plot( n, phi ) ;
title( '相位譜' ) ;
xlabel( 'n' ) ;
ylabel( '|×n' ) ;
%高次諧波擬合函數(shù)曲線
figure( 2 ) ;
t = -T: 0.01: T ;
f = a0 ;
for n=1:m
    f = f+eval(an)*cos(n*pi.*t);
    f = f+eval(bn)*sin(n*pi.*t);
end
plot( t, f ) ;
title( strcat( num2str( n ), '次諧波疊加') ) ;
xlabel( 't' ) ;
ylabel( 'f(t)' ) ;

最終仿真的結(jié)果如下圖所示。

1.3 DFT算法的MATLAB實(shí)現(xiàn)

傅里葉變換主要分為4類:

(1)傅里葉級(jí)數(shù):將周期性連續(xù)函數(shù)轉(zhuǎn)換為離散頻率點(diǎn)

(2)連續(xù)傅里葉變換:將連續(xù)函數(shù)變換為連續(xù)頻率函數(shù)

(3)離散時(shí)間傅里葉級(jí)數(shù)DFS:將離散函數(shù)變換為連續(xù)頻率的函數(shù)

(4)離散傅里葉變換DFT:將有限長離散函數(shù)變換為離散頻率點(diǎn)上的函數(shù)

利用MATLAB自帶的fft函數(shù)實(shí)現(xiàn)DFT運(yùn)算,源代碼如下。

%45點(diǎn)采樣
subplot( 2, 2, 1 );
N = 45 ;
n = 0:N-1 ;
t = 0.01*n ;
q = n*2*pi/N ;
x = 2*sin(4*pi*t)+5*cos(8*pi*t) ;
y = fft( x, N ) ;
plot( q, abs(y) ) ;
title('DFT N=45')
%50點(diǎn)采樣
subplot( 2, 2, 2 ) ;
N = 50 ;
n = 0:N-1 ;
t = 0.01*n ;
q = n*2*pi/N ;
x = 2*sin(4*pi*t)+5*cos(8*pi*t) ;
y = fft( x, N ) ;
plot( q, abs(y) ) ;
title('DFT N=50')
%55點(diǎn)采樣
subplot( 2, 2, 3 ) ;
N = 55 ;
n = 0:N-1 ;
t = 0.01*n ;
q = n*2*pi/N ;
x = 2*sin(4*pi*t)+5*cos(8*pi*t) ;
y = fft( x, N ) ;
plot( q, abs(y) ) ;
title('DFT N=55')
%60點(diǎn)采樣
subplot( 2, 2, 4 ) ;
N = 60 ;
n = 0:N-1 ;
t = 0.01*n ;
q = n*2*pi/N ;
x = 2*sin(4*pi*t)+5*cos(8*pi*t) ;
y = fft( x, N ) ;
plot( q, abs(y) ) ;
title('DFT N=60')

MATLAB運(yùn)行截圖如下所示。

圖片

我們進(jìn)一步增加截取長度與DFT點(diǎn)數(shù),例如增加到256:

N = 256 ;
n = 0:N-1 ;
t = 0.01*n ;
q = n*2*pi/N ;
x = 2*sin(4*pi*t)+5*cos(8*pi*t) ;
y = fft( x, N ) ;
plot( q, abs(y) ) ;
title('DFT N=256')

此時(shí)信號(hào)的頻譜如下圖所示。

圖片

假設(shè)采樣頻率f=100Hz,采樣間隔T=0.01s時(shí),取樣點(diǎn)N的值越大,則譜分辨率F=f/N越小,說明此時(shí)分辨率越高,加入采樣點(diǎn)為256時(shí),既可以實(shí)現(xiàn)兩個(gè)不同頻率信號(hào)的區(qū)分。

1.4 FFT算法的MATLAB實(shí)現(xiàn)

FFT是離散傅立葉變換DFT的快速計(jì)算方法,適用于離散信號(hào),并且注意變換后的點(diǎn)數(shù)與信號(hào)的采樣點(diǎn)數(shù)一致,盡管可以將信號(hào)補(bǔ)0,但補(bǔ)0不能提高頻域的分辨率。matlab中提供了函數(shù)fft做一維的FFT。

(1)時(shí)域譜和頻域譜是相互對(duì)應(yīng);時(shí)域的信號(hào)長度,決定頻域的采樣間隔,它們成導(dǎo)數(shù)關(guān)系;

(2)時(shí)域中信號(hào)有N點(diǎn),每點(diǎn)間隔dt,所以時(shí)域信號(hào)長度為Ndt;那么頻譜每點(diǎn)的間隔就是1/(Ndt)。

clc
clear
N = 256 ;
dt = 0.02 ;
n = 0:N-1 ;
t = n*dt ;
x = sin(2*pi*t) ;
m = N ;
a = zeros( 1, m ) ;
b = zeros( 1, m ) ;
c = zeros( 1, m ) ;
for k=0:m-1
    for i=0:N-1
        a( k+1 )= a( k+1 )+2/N*x( i+1 )*cos( 2*pi*k*i/N ) ;
        b( k+1 )= b( k+1 )+2/N*x( i+1 )*sin( 2*pi*k*i/N ) ;
    end
c( k+1 ) = sqrt( a( k+1 )^2+b( k+1 )^2 ) ;
end
%時(shí)域圖
subplot( 2, 1, 1 ) ;
plot( t, x ) ;
title( '原始信號(hào)' ) ;
xlabel( 't' ) ;
ylabel( 'f(t)' ) ;
%頻域圖像
f = ( 0:m-1 )/( N*dt ) ;
subplot( 2, 1, 2 ) ;
plot( f, c ) ;hold on
title( 'Fourier' ) ;
xlabel( '頻率/HZ' ) ;
ylabel( '幅值' ) ;
%計(jì)算頻率
ind = find( c==max(c), 1, 'first' ) ;                                  %查找頻率第一個(gè)最大值
x0 = f( ind );                                                              %得到橫坐標(biāo)
y0 = c( ind );                                                              %得到縱坐標(biāo)
plot( x0, y0, 'ro' );hold off
text( x0+1, y0-0.1, num2str( x0, '頻率=%f' ) ) ;

MATLAB運(yùn)行結(jié)果如下圖所示。

1.3基于51單片機(jī)的頻譜設(shè)計(jì)

1.3.1 功能

我們現(xiàn)在使用51單片機(jī)來實(shí)現(xiàn)頻譜的顯示,通過輸入音頻信號(hào)來輸出對(duì)應(yīng)的頻段的幅值,這次選用的是STC12C5A60S2,運(yùn)行時(shí)鐘33MHz,內(nèi)置ADC采樣,利用LED組成點(diǎn)陣顯示屏幕,通過ADC不停的采樣音頻數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)換為頻域幅值顯示在LED上面。

1.3.2 原理圖分析

(1)最小系統(tǒng)電路

單片機(jī)系統(tǒng)采用國產(chǎn)的51單片機(jī),在之前的51單片機(jī)中我們已經(jīng)具體了解過51單片機(jī)的應(yīng)用,這里不再詳細(xì)贅述,我們這次采用的是33MHz的晶振,STC12C系列相對(duì)于傳統(tǒng)的51單片機(jī)來說,運(yùn)行速度快了接近12倍,可以運(yùn)行256位的FFT算法,程序采用串口的方式燒錄進(jìn)去,其中P1口可以設(shè)置為ADC輸入口,內(nèi)置8通道10位ADC轉(zhuǎn)換器,采用直流5V供電。

(2)LED驅(qū)動(dòng)電路

由于我們使用的單片機(jī)只有44個(gè)引腳,實(shí)際能用的IO端口僅有35個(gè),而我們是用的是17×16的矩陣,需要33個(gè)端口,去掉1組串口,1個(gè)ADC,剩下的端口速度各不相同,已經(jīng)無法滿足驅(qū)動(dòng)的需要,所以采用74HC595芯片作為驅(qū)動(dòng)電路,74HC595是一個(gè)可以將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)的芯片,并且可以通過級(jí)聯(lián)的方式輸出數(shù)據(jù),我們采用2片595芯片的級(jí)聯(lián)來實(shí)現(xiàn)串行數(shù)據(jù)轉(zhuǎn)16位并行的的效果,其余的1位數(shù)據(jù)通過IO口來達(dá)到控制的目的。74HC595的時(shí)序圖如下圖所示。

(3)點(diǎn)陣顯示電路

這里采用17×16的點(diǎn)陣作為顯示,這種點(diǎn)陣連接的方式可以通過控制17+16=33個(gè)端口來實(shí)現(xiàn)17*16=272個(gè)LED亮滅的控制。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • matlab
    +關(guān)注

    關(guān)注

    189

    文章

    3001

    瀏覽量

    233989
  • 線性
    +關(guān)注

    關(guān)注

    0

    文章

    203

    瀏覽量

    25622
  • 傅里葉變換
    +關(guān)注

    關(guān)注

    6

    文章

    443

    瀏覽量

    43130
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    進(jìn)群免費(fèi)領(lǐng)FPGA學(xué)習(xí)資料!數(shù)字信號(hào)處理、傅里葉變換與FPGA開發(fā)等

    進(jìn)群免費(fèi)領(lǐng)FPGA學(xué)習(xí)資料啦!小編整理了數(shù)字信號(hào)處理、傅里葉變換與FPGA開發(fā)等FPGA必看資料,需要的小伙伴可以加小助手(微信:elecfans123)或進(jìn) QQ 群:913501156 群免費(fèi)領(lǐng)
    發(fā)表于 04-07 16:41

    圖像頻率域分析傅里葉變換

    文章目錄傅里葉變換基礎(chǔ)傅里葉級(jí)數(shù)傅里葉積分傅里葉變換一維連續(xù)傅里葉變換一維離散傅里葉變換二維離散傅里葉變換
    發(fā)表于 05-22 07:41

    學(xué)習(xí)傅里葉變換意義和方法

    學(xué)習(xí)傅里葉變換需要面對(duì)大量的數(shù)學(xué)公式,數(shù)學(xué)功底較差的同學(xué)聽到傅里葉變換就頭疼。事實(shí)上,許多數(shù)學(xué)功底好的數(shù)字信號(hào)處理專業(yè)的同學(xué)也不一定理解傅里葉變換的真實(shí)含義,不能做到學(xué)以致用!事實(shí)上,
    發(fā)表于 06-28 07:31

    DSP變換運(yùn)算-傅里葉變換

    第24章 DSP變換運(yùn)算-傅里葉變換本章節(jié)開始進(jìn)入此教程最重要的知識(shí)點(diǎn)之一傅里葉變換。關(guān)于傅里葉變換,本章主要是把傅里葉相關(guān)的基礎(chǔ)知識(shí)進(jìn)行必要的介紹,沒有這些基礎(chǔ)知識(shí)的話,后面
    發(fā)表于 08-03 06:14

    傅立葉變換matlab實(shí)現(xiàn)

    有關(guān)傅里葉變換matlab教程,簡單明了。
    發(fā)表于 02-23 18:22 ?0次下載

    深入淺出的學(xué)習(xí)傅里葉變換

    見過的介紹傅里葉變換的很好的文章,通俗易懂,轉(zhuǎn)發(fā)的,學(xué)習(xí)
    發(fā)表于 04-29 14:12 ?10次下載

    小波變換傅里葉變換好在哪里_小波變換傅里葉變換詳解

    小波變換傅里葉變換有什么區(qū)別嗎?小波變換傅里葉變換哪個(gè)好?我們通過小波變換傅里葉變換的詳細(xì)
    發(fā)表于 01-13 11:02 ?1.6w次閱讀
    小波<b class='flag-5'>變換</b>比<b class='flag-5'>傅里葉變換</b>好在哪里_小波<b class='flag-5'>變換</b>與<b class='flag-5'>傅里葉變換</b>詳解

    時(shí)頻分析短時(shí)傅里葉變換STFT資源下載

    時(shí)頻分析短時(shí)傅里葉變換STFT資源下載
    發(fā)表于 04-26 11:35 ?7次下載

    MATLAB學(xué)習(xí)筆記傅里葉變換2

    線性時(shí)不變系統(tǒng)** (輸入信號(hào)與輸出信號(hào)滿足線性關(guān)系,且系統(tǒng)參數(shù)不隨時(shí)間變換),無論你采用微分方程或者傳遞函數(shù)還是狀態(tài)空間,所以可以說正弦信號(hào)是系統(tǒng)的特征向量,當(dāng)然指數(shù)信號(hào)也是系統(tǒng)的特征向量,用于
    的頭像 發(fā)表于 02-24 14:47 ?6502次閱讀

    傅里葉變換如何用于深度學(xué)習(xí)領(lǐng)域

    機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中的模型都是遵循數(shù)學(xué)函數(shù)的方式創(chuàng)建的。從數(shù)據(jù)分析到預(yù)測建模,一般情況下都會(huì)有數(shù)學(xué)原理的支撐,比如:歐幾里得距離用于檢測聚類中的聚類。 傅里葉變換是一種眾所周知的將函數(shù)從一個(gè)域轉(zhuǎn)換
    的頭像 發(fā)表于 06-14 10:01 ?1769次閱讀
    <b class='flag-5'>傅里葉變換</b>如何用于深度<b class='flag-5'>學(xué)習(xí)</b>領(lǐng)域

    深入淺出的學(xué)習(xí)傅里葉變換

    學(xué)習(xí)傅里葉變換需要面對(duì)大量的數(shù)學(xué)公式,數(shù)學(xué)功底較差的同學(xué)聽到傅里葉變換就頭疼
    的頭像 發(fā)表于 07-07 14:15 ?948次閱讀
    深入淺出的<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>傅里葉變換</b>

    Matlab實(shí)現(xiàn)傅里葉變換的步驟

    傅里葉變換是將按時(shí)間或空間采樣的信號(hào)與按頻率采樣的相同信號(hào)進(jìn)行關(guān)聯(lián)的數(shù)學(xué)公式。
    的頭像 發(fā)表于 07-19 17:47 ?5866次閱讀
    <b class='flag-5'>Matlab</b>實(shí)現(xiàn)<b class='flag-5'>傅里葉變換</b>的步驟

    傅里葉變換基本性質(zhì) 傅里葉變換本質(zhì) 傅里葉變換的應(yīng)用

    各個(gè)領(lǐng)域都有廣泛的應(yīng)用。本文將詳細(xì)介紹傅里葉變換的基本性質(zhì)、本質(zhì)和應(yīng)用。 一、傅里葉變換的基本性質(zhì) 1. 線性性:若f1(t)與f2(t)的傅里葉變
    的頭像 發(fā)表于 09-07 16:18 ?7017次閱讀

    傅里葉變換的定義 傅里葉變換的意義

    連續(xù)傅里葉變換和離散傅里葉變換。最初傅里葉分析是作為熱過程的解析分析的工具被提出的。 傅里葉變換的意義主要體現(xiàn)在以下幾個(gè)方面: 1. 頻譜分析:傅里
    的頭像 發(fā)表于 11-30 15:32 ?3100次閱讀

    傅里葉變換基本原理及在機(jī)器學(xué)習(xí)應(yīng)用

    連續(xù)傅里葉變換(CFT)和離散傅里葉變換(DFT)是兩個(gè)常見的變體。CFT用于連續(xù)信號(hào),而DFT應(yīng)用于離散信號(hào),使其與數(shù)字?jǐn)?shù)據(jù)和機(jī)器學(xué)習(xí)任務(wù)更加相關(guān)。
    發(fā)表于 03-20 11:15 ?1429次閱讀
    <b class='flag-5'>傅里葉變換</b>基本原理及在機(jī)器<b class='flag-5'>學(xué)習(xí)</b>應(yīng)用