上機實驗四 非週期訊號的頻譜分析

2022-11-20 11:42:02 字數 4131 閱讀 5339

1.驗證試驗

1.門訊號的傅利葉變換

matlab程式:

clear all;clc;

syms t w定義符號變數

ut=sym('he**iside(t+0.5)-he**iside(t-0.5)'); %借助階躍函式定義門函式

subplot(2,1,1);ezplot(ut);hold on;

axis([-1 1 0 1.1給定座標系範圍

plot([-0.5 -0.5],[0 1]); %繪製左跳變沿

plot([0.5 0.5],[0 1]); %繪製右跳變沿

fw=fourier(ut,t,w); %對門函式進行傅利葉變換

ffw=maple('convert',fw,'piecewise');%將傅利葉變換的符號表示式轉換為樣條曲線

ffp=abs(ffw求幅度頻譜

subplot(2,1,2);ezplot(ffp,[-10*pi 10*pi]);%繪製幅度頻譜

axis([-10*pi 10*pi 0 1.1]);

%end

程式執行結果如下

2.衝擊訊號的傅利葉變換

clear all;clc;

syms t w定義符號變數

ut1=sym('he**iside(t+0.5)-he**iside(t-0.5)')%脈寬為1幅度為1的矩形脈衝訊號

subplot(2,1,1); %繪製矩形脈衝訊號

plot([-0.5 0.5],[0 1]);

title('脈寬為1矩形脈衝訊號');

xlabel('t');

hold on;

plot([-0.2 -0.5],[0 1]);

axis([-1 1 0 1.1]); %給定座標系範圍

fw1=fourier(ut1,t,w); %用fourier函式求矩形脈衝訊號的傅利葉變換

ffw1=maple('convert',fw1,'piecewise');

ffp1=abs(ffw1求幅度頻譜

subplot(212);

ezplot(ffp1,[-10*pi 10*pi]);%繪製幅度頻譜

axis([-10*pi 10*pi 0 1.1]); %給定座標系範圍

title('脈寬為1的矩形脈衝訊號的幅度頻譜');

hold on;

pause鍵盤輸入任意鍵後執行後續程式

ut2=10*sym('he**iside(t+0.5)-he**iside(t-0.5)')%脈寬為0.1幅度為10的矩形脈衝訊號

subplot(2,1,2); %繪製矩形脈衝訊號

plot([0.05 0.05],[10 10]);

plot([-0.05 0.05],[0 10]);

plot([0.05 0.05],[0 10]);

axis([-1 1 0 1.1]);%給定座標系範圍

title('脈寬為0.1矩形脈衝訊號');

xlabel('t');

hold on;

fw2=fourier(ut2,t,w); %用fourier函式求矩形脈衝訊號的傅利葉變換

ffw2=maple('convert',fw2,'piecewise');

ffp2=abs(ffw2求幅度頻譜

subplot(2,1,2);

ezplot(ffp2,[-10*pi 10*pi]);%繪製幅度頻譜

axis([-10*pi 10*pi 0 1.1]); %給定座標系範圍

title('脈寬為0.01的矩形脈衝訊號的幅度頻譜');

hold on;

pause鍵盤輸入任意鍵後執行後續程式

ut3=100*sym('he**iside(t+0.005)-he**iside(t-0.005)')%脈寬為0.01幅度為100的矩形脈衝訊號

subplot(2,1,2); %繪製矩形脈衝訊號

plot([-0.005 0.005],[100 100]);

plot([-0.005 -0.005],[0 100]);

plot([0.005 0.005],[0 100]);

axis([-1 1 0 110]);%給定座標系範圍

title('脈寬為0.01矩形脈衝訊號');

xlabel('t');

hold on;

fw3=fourier(ut3,t,w); %用fourier函式求矩形脈衝訊號的傅利葉變換

ffw3=maple('convert',fw3,'piecewise');

ffp3=abs(ffw3求幅度頻譜

subplot(2,1,2);

ezplot(ffp3,[-10*pi 10*pi]);%繪製幅度頻譜

axis([-10*pi 10*pi 0 1.1]); %給定座標系範圍

title('脈寬為0.1的矩形脈衝訊號的幅度頻譜');

hold on;

pause鍵盤輸入任意鍵後執行後續程式

%end

程式執行結果如下

3.直流訊號

%直流訊號的傅利葉變換

clear all;clc;

display('please input the value of a');

a=input('a=');%鍵盤輸入a的值

syms t; %定義符號變數

f=exp(-a*abs(t));

subplot(1,2,1);

ezplot(t); %繪製雙邊指數訊號的波形

axis([-2*pi 2*pi 0 1]);

ylabel('時域波形');

f=fourier(f);

subplot(1,2,2);

ezplot(abs(f));%繪製幅度頻譜

axis([-3 3 0 2/a]);

ylabel('幅度頻譜');

%end

程式執行結果如下

4.單邊指數訊號

%單邊指數訊號的傅利葉變換

clear all;clc;

syms t v w x phae im re定義符號變數

f=exp(-2*t)*sym('he**iside(t)');%f(t)=exp(-2*t)*u(t)

fw=fourier(f);

subplot(3,1,1);

ezplot(f繪製時域波形

axis([-1 2.5 0 1.1]);

subplot(3,1,2);

ezplot(abs(fw)); %繪製幅度譜

im=imag(fw);

re=real(fw);

phase=atan(im/re);

subplot(3,1,3);

ezplot(phase繪製相位譜

%end

程式執行結果如下

二.設計實驗

(1)試求傅利葉變換表示式

(a)f1=1+u(t)*exp(-2*t);

(b) f2=exp(-t)*he**iside(t-1)+(u(t+1)-u(t-1));

(c) f3=2*u(t)+δ(t-4);

clear all;clc;

syms t;

f1=1+he**iside(t)*exp(-2*t);f1_w=fourier(f1);

f2=exp(-t)*he**iside(t-1)+(he**iside(t+1)-he**iside(t-1));f2_w=fourier(f2);

f3=2*he**iside(t)+diff(he**iside(t-4));f3_w=fourier(f3);

以下是結果

% >> f1_w

% % f1_w =

% % 2*pi*dirac(w)+1/(2+i*w)

% %

% >> f2_w

% % f2_w =

% % 1/(1+i*w)*(exp(-i*w-1)+exp(i*w)-exp(-i*w))+2/(1+i*w)/w*sin(w)

% %

% >> f3_w

% % f3_w =

% % exp(-4*i*w)+2*pi*dirac(w)-2*i/w

% %

% >>

訊號的頻譜分析實驗報告

實驗 號的頻譜分析 一 實驗目的 1.掌握利用fft分析連續週期,非週期訊號的頻譜,如週期,非週期方波,正弦訊號等。理解cfs,ctft與dft fft 的關係。2.利用fft分析離散週期,非週期訊號的頻譜,如週期,非週期方波,正弦訊號等。理解dfs,dtft與dft fft 的關係,並討論連續訊號...

實驗三 用FFT對訊號作頻譜分析 實驗報告

一 實驗目的與要求 學習用fft對連續訊號和時域離散訊號進行譜分析的方法,了解可能出現的分析誤差及其原因,以便正確應用fft。二 實驗原理 用fft對訊號作頻分析是學習數字訊號處理的重要內容,經常需要進行分析的訊號是模擬訊號的時域離散訊號。對訊號進行譜分析的重要問題是頻譜解析度d和分析誤差。頻譜解析...

實驗三 用FFT對訊號作頻譜分析 實驗報告

一 實驗目的與要求 學習用fft對連續訊號和時域離散訊號進行譜分析的方法,了解可能出現的分析誤差及其原因,以便正確應用fft。二 實驗原理 用fft對訊號作頻分析是學習數字訊號處理的重要內容,經常需要進行分析的訊號是模擬訊號的時域離散訊號。對訊號進行譜分析的重要問題是頻譜解析度d和分析誤差。頻譜解析...