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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

近代数字信号处理实验-DFT分析信号的频谱

發(fā)布時(shí)間:2024/7/23 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 近代数字信号处理实验-DFT分析信号的频谱 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、實(shí)驗(yàn)?zāi)康?/strong>

(1)掌握利用DFT近似計(jì)算不同類型信號(hào)頻譜的原理和方法。

(2)理解誤差產(chǎn)生的原因及減小誤差的方法。

(3)培養(yǎng)學(xué)生自主學(xué)習(xí)能力,以及發(fā)現(xiàn)問題、分析問題和解決問題的能力。

二、知識(shí)點(diǎn)及背景知識(shí)

(1)利用DFT分析連續(xù)信號(hào)的頻譜,DFT參數(shù) ?

(2) 聲音包括語(yǔ)音、樂音、噪音等。樂音發(fā)音物體有規(guī)律地振動(dòng)而產(chǎn)生的具有固定音高的音,如音樂中的1(Do)、2(Re)、3(Mi)。按照音高順次排列的一串樂音就是音階,如大家熟悉的1(Do )2(Re)3(Mi) 4(Fa)5(So)6(La)7(Si)就是音階。樂音由不同頻率的正弦信號(hào)構(gòu)成,其最簡(jiǎn)單的數(shù)學(xué)模型是cos(2pft),如C大調(diào)音階各樂音對(duì)應(yīng)的頻率如下表:

樂音

1

2

3

4

5

6

7

對(duì)應(yīng)頻率

261.63

293.66

329.63

349.23

392

440

493.88

三、研討內(nèi)容

1.利用DFT分析x(t)=Acos(2pf1t)+Bsin(2pf2t)的頻譜,其中f1=200Hzf2=220Hz。分析題目,給出合適的DFT參數(shù),并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析,討論窗口的長(zhǎng)度和窗口的類型對(duì)譜分析有何影響。

?(1)A=B=1; (2)A=1,B=0.1。

  • 代碼:

A = 1;B =0.1;f1 =200;f2 = 220;

t = [0:0.001:0.5];

y = A*cos(2*pi*f1*t)+B*sin(2*pi*f2*t);

subplot(2,2,1);plot(t,y);title('原始信號(hào)');

axis([0,0.5,-2,2])

y2 = fftshift(fft(y));

fs = linspace(-1000/2,1000/2,length(y));

subplot(2,2,2);plot(fs,abs(y2));title('原始頻譜')

bm = blackman(length(y));

win = y.*bm';

subplot(2,2,3);plot(t,win);axis([0,0.5,-2,2]);

title('加blackman窗后信號(hào)')

subplot(2,2,4);

win_fft = fftshift(fft(win));

fs = linspace(-1000/2,1000/2,length(win));

plot(fs,abs(win_fft));

title('加blackman窗后頻譜')

  • 結(jié)果:

A=B=1

? ? ??A=1,B=0.1

? ?

?

  • 分析:

實(shí)驗(yàn)中DFT點(diǎn)數(shù)為信號(hào)長(zhǎng)度,從圖中可以看出,blackman窗的頻譜泄露要比矩形窗(原始帶限信號(hào))的小。

  • 代碼:

w0 = 12*pi/64;w1 = 13*pi/64;

k = 0:63;L =64;

xk = cos(w0*k)+1*cos(w1*k);plot(xk);

xk_f = fftshift(fft(xk,L));f1 = (0:L-1)/L;

figure(1);plot(f1,abs(xk_f));title('64點(diǎn)DFT')

k = 0:127;L =128;

xk = cos(w0*k)+1*cos(w1*k);

xk_f = fftshift(fft(xk,L));f1 = (0:L-1)/L;

figure(2);plot(f1,abs(xk_f));title('128點(diǎn)DFT')

k = 0:511;L =512;

xk = cos(w0*k)+1*cos(w1*k);

xk_f = fftshift(fft(xk,L));f1 = (0:L-1)/L;

figure(3);plot(f1,abs(xk_f));title('512點(diǎn)DFT')

  • 結(jié)果:

?

  • 分析:

64點(diǎn)DFT時(shí),兩個(gè)譜峰混在一起,無(wú)法分辨出來(lái);128點(diǎn)DFT時(shí),兩個(gè)譜峰依舊混在一起,無(wú)法分辨出來(lái);512點(diǎn)DFT時(shí),兩個(gè)譜峰分離開了。因?yàn)镈FT是對(duì)離散信號(hào)頻譜DTFT的等間隔抽樣,DFT點(diǎn)數(shù)越多,譜線間隔越小,頻譜會(huì)顯示更多的細(xì)節(jié),也就能夠區(qū)分出相鄰的譜峰了。

3.(*)利用DFT分析音階信號(hào)yueyin1.wav的頻譜。要求讀取該信號(hào)的抽樣頻率,獲得時(shí)域抽樣點(diǎn)數(shù)N,確定信號(hào)的持續(xù)時(shí)間以及合適的DFT點(diǎn)數(shù),并根據(jù)譜分析的結(jié)果,判斷是什么調(diào)的音階。

C大調(diào)對(duì)應(yīng)頻率

樂音

1

2

3

4

5

6

7

對(duì)應(yīng)頻率

261.63

293.66

329.63

349.23

392

440

493.88

  • 代碼:

[y,fs] = audioread('yueyin1.wav')%y為時(shí)域抽樣點(diǎn)數(shù),fs為抽樣頻率8000Hz

N = length(y);L = N

FFT = fftshift(fft(y,L));Wsam = 2*pi*fs

W = (-Wsam/2+(0:L-1)*Wsam/L)/(2*pi)

plot(W,abs(FFT));axis([0,600,0,1000]);title('yueyin1幅度譜')

  • 結(jié)果:

  • 分析:

從圖中可以看出,yueyin1對(duì)應(yīng)的是C大調(diào)。實(shí)驗(yàn)中得出,信號(hào)抽樣頻率為8KHz,抽樣點(diǎn)數(shù)32000點(diǎn),從而計(jì)算出信號(hào)持續(xù)時(shí)間為32000/8000=4S,這與播放器顯示的時(shí)長(zhǎng)一致。本實(shí)驗(yàn)中采取的DFT點(diǎn)數(shù)為信號(hào)時(shí)域點(diǎn)數(shù)。

(1)利用DFT分析和弦信號(hào)hexian1.wav頻譜,確定構(gòu)成該和弦是哪幾個(gè)樂音(即什么頻率分量)

  • 代碼:

[y,fs] = audioread('hexian1.wav');

N = length(y);L = N

FFT = fftshift(fft(y,L));Wsam = 2*pi*fs;W = (-Wsam/2+(0:L-1)*Wsam/L)/(2*pi)

figure(1);plot(W,abs(FFT));axis([-500,500,0,1500]);title('hexian1幅度譜')

plot(W,abs(FFT));axis([0,600,0,1000]);title('yueyin1幅度譜')

  • 結(jié)果:

?

  • 分析:

與樂音表對(duì)比,該和弦應(yīng)該是由2、5、6樂音組成。

(2)若樂曲全音符的持續(xù)時(shí)間為0.2s, 16分音符,從理論上分析利用DFT分析其樂音構(gòu)成會(huì)出現(xiàn)什么問題?設(shè)計(jì)實(shí)驗(yàn)驗(yàn)證一下你的判斷,并給出解決問題的方案。

  • 代碼:

%0.2s的16分音符

N=100;L=1024;f1=100;f2=200;f3=300;

fs=1000;ws=2*pi*fs;

T=1/fs;t=(0:(N-1))*T;

y=cos(2*pi*f1*t)+cos(2*pi*f2*t)+cos(2*pi*f3*t);

Y=fftshift(fft(y,L));w=(-ws/2+(0:L-1)*ws/L)/(2*pi);

figure(2);subplot(2,1,1);plot(w,abs(Y));

axis([-350,350,0,80]);title('矩形窗截短后幅度譜');

wh = (hann(N))';y = y.*wh;

Y2 = fftshift(fft(y,L))

subplot(2,1,2);plot(w,abs(Y2));axis([-350,350,0,50]);title('hann窗截短后頻譜')

  • 結(jié)果:

?

  • 分析:

  • 代碼:

[y,fs] = audioread('yueyin2.wav')

ws = 2*pi*fs;N = length(y);L = N

w = (-ws/2+(0:L-1)*ws/L)/(2*pi);Y = fftshift(fft(y,L))

plot(w,abs(Y));axis([0,2500,0,1100]);title('yueyin2頻譜')

for i =1:8

???k=y((i-1)*4000+1:i*4000)

???yueyin(k,i,ws)

end

%yueyin.m

function f = yueyin(y,i,ws)

????Y =fftshift(fft(y))

????N = length(y)

????L = N

????w = (-ws/2+(0:L-1)*ws/L)/(2*pi)

????subplot(2,4,i)

????plot(w,abs(Y))

????axis([200,2100,0,1000])

????title(i)

end

  • 結(jié)果:

???????

?

?

  • 分析:

不能直接確定各樂音的頻譜組成,因?yàn)轭l譜不包含時(shí)間信息,不能確定各樂音的頻譜構(gòu)成。解決方法:將樂音信號(hào)按時(shí)間分為八小段,再對(duì)每一小段進(jìn)行譜分析,得到相應(yīng)的頻譜如上圖所示。

從上圖可以得到各個(gè)樂音諧波分量,1-7(i)的頻率依次呈遞增趨勢(shì)。

總結(jié)

以上是生活随笔為你收集整理的近代数字信号处理实验-DFT分析信号的频谱的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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