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和分析誤差。頻譜解析...