第一篇:信號與系統學習心得
信號與系統學習心得
經過幾個星期對《信號與系統》的學習與認知,讓我逐步的走進這充滿神秘色彩的學科。現在我對于這么學科已經有了一點淺淺的認識。下面我就談談我對這門學科的認識。
所謂系統,是由若干相互聯系、相互作用的單元組成的具有一定功能的有機整體。根據系統處理的信號形式的不同,系統可分為三大類:連續時間系統、離散時間系統和混合系統。而系統按其工作性質來說,可分為線性系統與非線性系統、時變系統與時不變系統、因果系統與非因果系統。信號分析的內容十分廣泛,分析方法也有多種。目前最常用、最基本的兩種方法是時域法與頻域法。時域法是研究信號的時域特性,如波形的參數、波形的變化、出現時間的先后、持續時間的長短、重復周期的大小和信號的時域分解與合成等、頻域法,是將信號變換為另一種形式研究其頻域特性。信號與系統總是相伴存在的,信號經由系統才能傳輸。
最近我們學到了傅里葉級數。由于上一學期在《高等數學》中對這一方面知識有了一定的學習,我對這一變換有了一點自己的感悟與認知。以下就是我對傅里葉級數的一點總結:
1.物理意義:付里葉級數是將信號在正交三角函數集上進行分解(投影),如果將指標系列類比為一個正交集,則指標上值的大小可類比為性能在這一指標集上的分解,或投影;分解的目的是為了更好地分析事物的特征,正交集中的每一元素代表一種成分,而分解后對應該元素的系數表征包含該成分的多少 2.三角函數形式:f(t)可以表示成:
f(t)?a0?a1cos(w1t)?a2cos(2w1t)????ancos(nw1t)?b1sin(w1t)?b2sin(2w1t)???bnsin(nw1t)??a0??[an?10ncos(nw1t)?bnsin(nw1t)]
其中,a被稱為直流分量
ancos(nw1t)?bnsin(nw1t)被稱為
n次諧波分量。
a0??T1/2?T1/2f(t)dt?1T1K0?T1/2?T1/2f(t)dt
?2T1an??T1/2?T1/2f(t)cos(nw1t)dtKan?T1/2?T1/2f(t)cos(nw1t)dt
f(t)sin(nw1t)dtbn??T1/2?T1/2f(t)sin(nw1t)dtKbn?2T1?T1/2?T1/2
注:奇函數傅里葉級數中無余弦分量;當f(t)為偶函數時bn=0,不含正弦項,只含直流項和余弦項。
3.一般形式:
?f(t)??cn?0ncos(nwt??n)
或者:
?f(t)??dn?0nsin(nwt??n)
c0?d0?a0cn?dn?
22an?bn ?n?arctg(?4.指數形式:
?bnan),?n?arctg(anbn)
f(t)?1?n???Fnejnw1t
f(t)e?jnw1tFn?
以上就是我目前對這門學科的認識。信號與系統作為一門專業課,其重要性不言而喻。在接下來學習中,我將繼續深入的去學習這門學科。我希望能真正的掌握這門極其有用的學科,在不遠的將來,把它運用于實踐中去。
T1?T1/2?T1/2dt
第二篇:信號與系統學習心得
學習信號與系統后的一些心得
經過一個學期對《信號與系統》的學習與認知,讓我逐步的走進這充滿神秘色彩的學科。這門課程是以《高等數學》為基礎,但它又不是一門只拘泥于數學推導與數學運算的學科,它更側重與數學與專業的有機融合與在創造,是一門應用性很強的學科。
大家都知道學習是一個把書看厚然后再看薄、理解和總結的過程。下面我就來和大家分享一下我在學習信號與系統中的一些學習心得。
所謂學習一門學科,首先要知道它有什么用,然后才能有學習的興趣和動力。所以讓我們先來整體認識一下信號與系統。這門課是電氣專業的基礎,對后面的數字信號處理,濾波器設計都是十分重要的。它也給了我們一個學習的思想:無論什么問題,都可以把問題看作一個系統,有了輸入,那么就會得到輸出。那么輸入和輸出有什么關系呢?就需要我們學習了這門課程來掌握理解不同的輸入對應怎樣的輸出,是怎樣對應過去的。
信號與系統主要用到的知識有傅里葉變換(離散和連續),拉普拉斯變換,z變換。其中,傅里葉變換是重中之重,學會了這個,另外兩個就是一個舉一反三的過程。
縱觀一個系統的實現,其實就是:激勵→零輸入響應+零狀態響應
用醒目的公式來說明就是:
接下來的問題就是咱們怎樣由激勵來求零輸入、零狀態響應。對于零輸入響應,顧名思義,就是沒有輸入的響應,即在系統還沒有激勵的時候已經有響應了。這部分可由微分方程齊次解的一部分來求得,兩者形式是一樣的。其中的待定系數通過初始狀態即可求的。
重點和難點在零狀態響應。這門學科大部分就是通過探討給出一些列簡單的方法來求零狀態響應。
首先咱們來想一下,既然零輸入響應只是齊次解中的一部分,那么,齊次解中剩下的一部分將和特解一起組成系統的零狀態響應。剛開始是通過卷積的方法來求得,雖然這種方法可行,但需要積分,計算難度明顯很大。于是“懶人們”通過研究發現了更好的辦法:傅里葉變換。
課本上給了一系列傅里葉變換,還有傅里葉變換的基本性質。以及后面的拉普拉斯變換、Z變換及性質都是相通的。公式與性質的記憶可以通過比較記憶,變換間形式都是一樣的。只要掌握了傅里葉變換,后面兩種很快就可學會,無非就是由頻域變成了復頻域,有連續變成了離散,由復頻域變成了Z域。
所以說來說去,這本書就是只要認真去理解掌握傅里葉變換就可以了。由傅里葉變換求零狀態響應非常簡便,只需要激勵的頻域函數乘以系統函數(在零狀態條件下響應與激勵的比值,是系統的頻率特征,是系統特征的頻域描述,是一個與激勵無關的函數)就可以了求的頻域里面的響應了,然后再通過傅里葉反變換求的時域里的零狀態響應即可。基本過程為:
1,對激勵進行傅里葉變換x(t)? X(w);
2,由微分方程求的系統函數H(w);
3,由激勵的傅里葉變換和系統函數求的頻域響應Y(w)=X(w)H(w);4,通過傅里葉反變換求的系統的零狀態響應Y(w)? y(t)
這就是我的一些心得,剩下的基礎還是需要下功夫自己去記一下的,掌握一些規律。
第三篇:信號與系統
問題4:單側可導與單側連續、單側極限的關系?單側極限存在 并且極限值=函數值 可以推出單側連續可導必連續,連續未必可導那么 單側可導是否可以推出單側連續?請證明;反之,單側極限是否可以推出單側可導?請證明或舉反例。謝謝老師!
解答:單側可導可以推出單側連續,單側連續可以推出單側極限存在。
證:設函數f(x)在x0點的右側導數存在,即右導數存在,根據右導數存在的定義,lim?x?x0f(x)?f(x0)x?x0存在,由于x?x0時,分母x?x0趨于0,所以f(x)?f(x0)也要趨于0,否則這個極限是不存在的。所以lim?f(x)?f(x0)??0,即limf(x)?f(x0),亦即f(x)在x0點右連續。??x?x0?x?x0
再證明單側連續可以推出單側極限存在。
設函數f(x)在x0點右連續,即limf(x)?f(x0),這說明函數在x0點的右極限存在。?x?x0
由于連續未必可導,所以單側連續也是推不出單側可導的,具體例子見同濟六版課本P85,例9
第四篇:信號與系統實驗報告,
實驗三
常見信號得MATLAB 表示及運算 一、實驗目得 1。熟悉常見信號得意義、特性及波形 2.學會使用 MATLAB 表示信號得方法并繪制信號波形 3、掌握使用MATLAB 進行信號基本運算得指令 4、熟悉用MATLAB 實現卷積積分得方法 二、實驗原理 根據MATLAB 得數值計算功能與符號運算功能,在 MATLAB中,信號有兩種表示方法,一種就是用向量來表示,另一種則就是用符號運算得方法。在采用適當得 MATLAB 語句表示出信號后,就可以利用 MATLAB中得繪圖命令繪制出直觀得信號波形了。
1、連續時間信號
從嚴格意義上講,MATLAB并不能處理連續信號。在MATLAB 中,就是用連續信號在等時間間隔點上得樣值來近似表示得,當取樣時間間隔足夠小時,這些離散得樣值就能較好地近似出連續信號。在 MATLAB 中連續信號可用向量或符號運算功能來表示。
⑴
向量表示法 對于連續時間信號,可以用兩個行向量 f 與 t 來表示,其中向量 t 就是用形如得命令定義得時間范圍向量,其中,為信號起始時間,為終止時間,p 為時間間隔。向量 f 為連續信號在向量 t所定義得時間點上得樣值. ⑵
符號運算表示法 如果一個信號或函數可以用符號表達式來表示,那么我們就可以用前面介紹得符號函數專用繪圖命令 ezplot()等函數來繪出信號得波形。
⑶
得 常見信號得 M ATLA B表示
單位階躍信號 單位階躍信號得定義為:
方法一:
調用 H eaviside(t)函數 首先定義函數 Heaviside(t)得m函數文件,該文件名應與函數名同名即Heaviside、m.%定義函數文件,函數名為 Heaviside,輸入變量為 x,輸出變量為y function y= Heaviside(t)
y=(t>0);
%定義函數體,即函數所執行指令 %此處定義t>0 時 y=1,t<=0 時y=0,注意與實際得階躍信號定義得區別.方法二:數值計算法 在MATLAB 中,有一個專門用于表示單位階躍信號得函數,即 s te pfun()函數,它就是用數值計算法表示得單位階躍函數.其調用格式為: st epfun(t,t0)
其中,t 就是以向量形式表示得變量,t0 表示信號發生突變得時刻,在t0以前,函數值小于零,t0以后函數值大于零。有趣得就是它同時還可以表示單位階躍序列,這只要將自變量以及
取樣間隔設定為整數即可。
符號函數 符號函數得定義為:
在 MATLAB 中有專門用于表示符號函數得函數 s ign(),由于單位階躍信號(t)與符號函數兩者之間存在以下關系:,因此,利用這個函數就可以很容易地生成單位階躍信號.2、離散時間信號 離散時間信號又叫離散時間序列,一般用 表示,其中變量 k 為整數,代表離散得采樣時間點(采樣次數)。
在 MATLAB中,離散信號得表示方法與連續信號不同,它無法用符號運算法來表示,而只能采用數值計算法表示,由于 MATLAB 中元素得個數就是有限得,因此,MATLAB無法表示無限序列;另外,在繪制離散信號時必須使用專門繪制離散數據得命令,即 stem(()函數,而不能用plot()函數。
單位序列
單位序列)得定義為
單位階躍序列 單位階躍序列得定義為 3、卷積積分 兩個信號得卷積定義為:
MATLAB 中就是利用 conv 函數來實現卷積得.功能:實現兩個函數與得卷積.格式:g=conv(f1,f2)
說明:f1=f 1(t),f2=f 2(t)
表示兩個函數,g=g(t)表示兩個函數得卷積結果。
三、實驗內容 1、分別用 MATLAB得向量表示法與符號運算功能,表示并繪出下列連續時間信號得波形:
⑴
⑵
(1)
t=-1:0、01:10;t1=-1:0、01:-0、01;t2=0:0、01:10; f1=[zeros(1,length(t1)),ones(1,length(t2))];f=(2—exp(-2*t))、*f1; plot(t,f)axis([-1,10,0,2、1])
syms t;f=sym(’(2-exp(—2*t))*heaviside(t)“); ezplot(f,[-1,10]);
(2)t=—2:0、01:8; f=0、*(t<0)+cos(pi*t/2)、*(t>0&t〈4)+0、*(t〉4);plot(t,f)
syms t;f=sym(”cos(pi*t/2)*[heaviside(t)—heaviside(t—4)] “);ezplot(f,[-2,8]);
2、分別用 MATLAB 表示并繪出下列離散時間信號得波形:
⑵
⑶
(2)
t=0:8; t1=—10:15; f=[zeros(1,10),t,zeros(1,7)];stem(t1,f)axis([—10,15,0,10]);
(3)t=0:50;t1=—10:50; f=[zeros(1,10),sin(t*pi/4)];stem(t1,f)
axis([—10,50,—2,2])
3、已知兩信號,求卷積積分,并與例題比較。
t1=—1:0、01:0; t2=0:0、01:1;t3=—1:0、01:1; f1=ones(size(t1));f2=ones(size(t2));g=conv(f1,f2); subplot(3,1,1),plot(t1,f1); subplot(3,1,2),plot(t2,f2);subplot(3,1,3),plot(t3,g);
與例題相比較,g(t)得定義域不同,最大值對應得橫坐標也不同。
4、已知,求兩序列得卷積與 .N=4;M=5; L=N+M—1; f1=[1,1,1,2]; f2=[1,2,3,4,5];g=conv(f1,f2); kf1=0:N-1; kf2=0:M-1;kg=0:L—1;subplot(1,3,1),stem(kf1,f1,’*k’);xlabel(”k“); ylabel(’f1(k)”);grid on subplot(1,3,2),stem(kf2,f2,’*k“);xlabel('k’);ylabel(”f2(k)’);grid on subplot(1,3,3);stem(kg,g,'*k’);xlabel('k“); ylabel(”g(k)');grid on
實驗心得:第一次接觸 Mutlab 這個繪圖軟件,覺得挺新奇得,同時 ,由于之前不太學信號與系統遇到一些不懂得問題,結合這些圖對信號與系統有更好得了解。
實驗四
連續時間信號得頻域分析 一、實驗目得 1。熟悉傅里葉變換得性質 2.熟悉常見信號得傅里葉變換 3。了解傅里葉變換得MATLAB 實現方法 二、實驗原理 從已知信號求出相應得頻譜函數得數學表示為:
傅里葉反變換得定義為:
在 MATLAB中實現傅里葉變換得方法有兩種,一種就是利用 MATLAB 中得 Sy mbo lic Math Too lbox 提供得專用函數直接求解函數得傅里葉變換與傅里葉反變換,另一種就是傅里葉變換得數值計算實現法.1、直接調用專用函數法 ①在 MATLAB 中實現傅里葉變換得函數為:
F=fourier(f)
對f(t)進行傅里葉變換,其結果為 F(w)
F=fourier(f,v)
對 f(t)進行傅里葉變換,其結果為F(v)
F=fourier(f,u,v)
對f(u)進行傅里葉變換,其結果為 F(v)②傅里葉反變換
f=ifourier(F)
對 F(w)進行傅里葉反變換,其結果為 f(x)
f=ifourier(F,U)
對F(w)進行傅里葉反變換,其結果為f(u)
f=ifourier(F,v,u)
對F(v)進行傅里葉反變換,其結果為 f(u)
注意:
(1)在調用函數 fourier()及 ifourier()之前,要用 syms 命令對所有需要用到得變量(如 t,u,v,w)等進行說明,即要將這些變量說明成符號變量。對fourier()中得 f 及ifourier()中得 F 也要用符號定義符 sym 將其說明為符號表達式。
(2)采用 fourier()及 fourier()得到得返回函數,仍然為符號表達式。在對其作圖時要用 ezplot()函數,而不能用plot()函數.(3)fourier()及fourier()函數得應用有很多局限性,如果在返回函數中含有 δ(ω)等函數,則 ezplot()函數也無法作出圖來。另外,在用 fourier()函數對某些信號進行變換時,其返回函數如果包含一些不能直接表達得式子,則此時當然也就無法作圖了。這就是fourier()函數得一個局限。另一個局限就是在很多場合,盡管原時間信號 f(t)就是連續得,但卻不能表示成符號表達式,此時只能應用下面介紹得數值計算法來進行傅氏變換了,當然,大多數情況下,用數值計算法所求得頻譜函數只就是一種近似值。
2、傅里葉變換得數值計算實現法 嚴格說來,如果不使用 symbolic 工具箱,就是不能分析連續時間信號得。采用數值計算方法實現連續時間信號得傅里葉變換,實質上只就是借助于MATLAB 得強大數值計算功能,特別就是其強大得矩陣運算能力而進行得一種近似計算。傅里葉變換得數值計算實現法得原理如下: 對于連續時間信號 f(t),其傅里葉變換為:
其中 τ 為取樣間隔,如果 f(t)就是時限信號,或者當|t|大于某個給定值時,f(t)得值已經衰減得很厲害,可以近似地瞧成就是時限信號,則上式中得n取值就就是有限得,假定為 N,有:
若對頻率變量 ω 進行取樣,得:
通常取:,其中就是要取得頻率范圍,或信號得頻帶寬度。采用 MATLAB 實現上式時,其要點就是要生成 f(t)得N個樣本值得向量,以及向量,兩向量得內積(即兩矩陣得乘積),結果即完成上式得傅里葉變換得數值計算。
注意:時間取樣間隔 τ 得確定,其依據就是 τ 必須小于奈奎斯特(Nyquist)取樣間隔。如果 f(t)不就是嚴格得帶限信號,則可以根據實際計算得精度要求來確定一個適當得頻率為信號得帶寬。
三、實驗內容 1、編程實現求下列信號得幅度頻譜(1)
求出得頻譜函數 F 1(jω),請將它與上面門寬為 2 得門函數得頻譜進行比較,觀察兩者得特點,說明兩者得關系。
(2)三角脈沖
(3)單邊指數信號
(4)
高斯信號
(1)
syms t w
Gt=sym(“Heaviside(2*t+1)—Heaviside(2*t-1)’);
Fw=fourier(Gt,t,w);
FFw=maple(’convert’,Fw,’piecewise”);
FFP=abs(FFw);
ezplot(FFP,[—10*pi 10*pi]);grid;
axis([-10*pi 10*pi 0 2、2])
與得頻譜比較,得頻譜函數 F 1(jω)最大值就是其得1/2.(2)syms t w;Gt=sym(“(1+t)*(Heaviside(t+1)—Heaviside(t))+(1-t)*(Heaviside(t)—Heaviside(t—1))”);Fw=fourier(Gt,t,w);
FFw=maple(“convert',Fw,’piecewise”);
FFP=abs(FFw);
ezplot(FFP,[—10*pi 10*pi]);grid;
axis([—10*pi 10*pi 0 2、2])
(3)syms t w
Gt=sym(’exp(-t)*Heaviside(t)’);
Fw=fourier(Gt,t,w);
FFw=maple(“convert”,Fw,’piecewise’);
FFP=abs(FFw);
ezplot(FFP,[—10*pi 10*pi]);grid;
axis([—10*pi 10*pi —1 2])
(4)syms t w
Gt=sym(’exp(-t^2)“);
Fw=fourier(Gt,t,w);
FFw=maple('convert’,Fw,’piecewise’);
ezplot(FFw,[-30 30]);grid;
axis([—30 30 —1 2])
2、利用 ifourier()函數求下列頻譜函數得傅氏反變換(1)
(2)
(1)syms t w
Fw=sym(’-i*2*w/(16+w^2)’);
ft=ifourier(Fw,w,t);
ft 運行結果: ft = —exp(4*t)*heaviside(—t)+exp(—4*t)*heaviside(t)(2)
syms t w
Fw=sym(”((i*w)^2+5*i*w-8)/((i*w)^2+6*i*w+5)’);
ft=ifourier(Fw,w,t);
ft 運行結果: ft = dirac(t)+(-3*exp(-t)+2*exp(-5*t))*heaviside(t)實驗 心得 matlab 不但具有數值計算能力,還能建模仿真,能幫助我們理解不同時間信號得頻域分析。
實驗五 連續時間系統得頻域分析 一、實驗目得 1.學習由系統函數確定系統頻率特性得方法.2.學習與掌握連續時間系統得頻率特性及其幅度特性、相位特性得物理意義.3.通過本實驗了解低通、高通、帶通、全通濾波器得性能及特點。
二、實驗原理及方法 頻域分析法與時域分析法得不同之處主要在于信號分解得單元函數不同。在頻域分析法中,信號分解成一系列不同幅度、不同頻率得等幅正弦函數,通過求取對每一單元激勵產生得響應,并將響應疊加,再轉換到時域以得到系統得總響應。所以說,頻域分析法就是一種變域分析法.它把時域中求解響應得問題通過 Fourier 級數或 Fourier 變換轉換成頻域中得問題;在頻域中求解后再轉換回時域從而得到最終結果.在實際應用中,多使用另一種變域分析法:復頻域分析法,即 Laplace 變換分析法。
所謂頻率特性,也稱頻率響應特性,就是指系統在正弦信號激勵下穩態響應隨頻率變化得情況,包括幅度隨頻率得響應與相位隨頻率得響應兩個方面.利用系統函數也可以確定系統頻率特性,公式如下:
幅度響應用表示,相位響應用表示。
本實驗所研究得系統函數 H(s)就是有理函數形式,也就就是說,分子、分母分別就是 m、n 階多項式。
要計算頻率特性,可以寫出
為了計算出、得值,可以利用復數三角形式得一個重要特性:
而,則 利用這些公式可以化簡高次冪,因此分子與分母得復數多項式就可以轉化為分別對實部與虛部得實數運算,算出分子、分母得實部、虛部值后,最后就可以計算出幅度、相位得值了。
三、實驗內容 a),m 取值區間 [0,1],繪制一組曲線 m=0、1,0、3,0、5,0、7,0、9;b)繪制下列系統得幅頻響應對數曲線與相頻響應曲線,分析其頻率特性.(1)
(2)
(3)
a)% design2、m
figure
alpha=[0、1,0、3,0、5,0、7,0、9];
colorn=['r’ ’g’ ’b“ ’y” “k'];
%
r g b y m c k(紅,綠,藍,黃,品紅,青,黑)
for n=1:5
b=[0 alpha(n)];
% 分子系數向量
a=[alpha(n)-alpha(n)^2 1];
% 分母系數向量
printsys(b,a,”s“)
[Hz,w]=freqs(b,a);
w=w、/pi;
magh=abs(Hz);
zerosIndx=find(magh==0);
magh(zerosIndx)=1;
magh=20*log10(magh);
magh(zerosIndx)=-inf;
angh=angle(Hz);
angh=unwrap(angh)*180/pi;
subplot(1,2,1)
plot(w,magh,colorn(n));
hold on
subplot(1,2,2)
plot(w,angh,colorn(n));
hold on
end
subplot(1,2,1)
hold off
xlabel(”特征角頻率(timespi rad/sample)“)
title('幅頻特性曲線 |H(w)|(dB)”);
subplot(1,2,2)
hold off
xlabel(’特征角頻率(timespi rad/sample)’)
title(“相頻特性曲線 theta(w)(degrees)’);
b)(1)% design1、m b=[1,0];
% 分子系數向量 a=[1,1];
% 分母系數向量 printsys(b,a,”s’)[Hz,w]=freqs(b,a);w=w、/pi;magh=abs(Hz);zerosIndx=find(magh==0); magh(zerosIndx)=1; magh=20*log10(magh);
% 以分貝 magh(zerosIndx)=-inf;angh=angle(Hz);angh=unwrap(angh)*180/pi;
% 角度換算 figure subplot(1,2,1)plot(w,magh);grid on xlabel(’特征角頻率(timespi rad/sample)')title(’幅頻特性曲線 |H(w)|(dB)’); subplot(1,2,2)plot(w,angh);grid on xlabel(’特征角頻率(times\pi rad/sample)’)title(’相頻特性曲線 \theta(w)
(degrees)’);
(2)
% design1、m b=[0,1,0];
% 分子系數向量 a=[1,3,2];
% 分母系數向量 printsys(b,a,’s’)[Hz,w]=freqs(b,a);w=w、/pi; magh=abs(Hz);zerosIndx=find(magh==0); magh(zerosIndx)=1; magh=20*log10(magh);
% 以分貝 magh(zerosIndx)=-inf; angh=angle(Hz);angh=unwrap(angh)*180/pi;
% 角度換算 figure subplot(1,2,1)plot(w,magh);grid on xlabel(“特征角頻率(\times\pi rad/sample)')
title(’幅頻特性曲線 |H(w)|(dB)’);subplot(1,2,2)plot(w,angh); grid on xlabel(”特征角頻率(\times\pi rad/sample)“)title(”相頻特性曲線 theta(w)(degrees)’);
(3)
% design1、m b=[1,-1];
% 分子系數向量 a=[1,1];
% 分母系數向量 printsys(b,a,“s”)[Hz,w]=freqs(b,a);w=w、/pi;magh=abs(Hz);zerosIndx=find(magh==0);magh(zerosIndx)=1;magh=20*log10(magh);
% 以分貝 magh(zerosIndx)=-inf;angh=angle(Hz);angh=unwrap(angh)*180/pi;
% 角度換算 figure subplot(1,2,1)
plot(w,magh); grid on xlabel(’特征角頻率(timespi rad/sample)“)
title(”幅頻特性曲線 |H(w)|(dB)’);subplot(1,2,2)plot(w,angh);grid on xlabel(’特征角頻率(times\pi rad/sample)')title(’相頻特性曲線 theta(w)
(degrees)“);
實驗心得: :雖然之前用公式轉換到頻域上分析,但就是有時會覺得挺抽象得,不太好理解。根據這些圖像結合起來更進一步對信號得了解。同時,這個在編程序時,雖然遇到一些問題,但就是總算解決了。
實驗六
離散時間系統得 Z 域分析 一、實驗目得 1.學習與掌握離散系統得頻率特性及其幅度特性、相位特性得物理意義。
2.深入理解離散系統頻率特性與對稱性與周期性。
3.認識離散系統頻率特性與系統參數之間得系統 4.通過閱讀、修改并調試本實驗所給源程序,加強計算機編程能力。
二、
實驗原理及方法 對于離散時間系統,系統單位沖激響應序列得 Fourier 變換完全反映了系統自身得頻率特性,稱為離散系統得頻率特性,可由系統函數求出,關系式如下:
(6 – 1)由于就是頻率得周期函數,所以系統得頻率特性也就是頻率得周期函數,且周期為,因此研究系統頻率特性只要在范圍內就可以了.? ? ???? ???? ???? ??? ? ?n n nj jn n h j n n h e n h e H)sin()()cos()()()(? ?? ?
(6 – 2)容易證明,其實部就是得偶函數,虛部就是得奇函數,其模得得偶函數,相位就是得奇函數。因此研究系統幅度特性、相位特性,只要在范圍內討論即可。
綜上所述,系統頻率特性具有周期性與對稱性,深入理解這一點就是十分重要得。
當離散系統得系統結構一定,它得頻率特性將隨參數選擇得不同而不同,這表明了系統結構、參數、特性三者之間得關系,即同一結構,參數不同其特性也不同。
例如,下圖所示離散系統,其數學模型由線性常系數差分方程描述:
系統函數: 系統函數頻率特性:
幅頻特性: 相頻特性:
容易分析出,當時系統呈低通特性,當時系統呈高通特性;當時系統呈全通特性.同時說明,在系統結構如圖所示一定時,其頻率特性隨參數 a 得變化而變化.三、實驗內容 a)。
b)c)a)% design1、m b=[1,0,-1];
% 分子系數向量 a=[1,0,—0、81];
% 分母系數向量 printsys(b,a,”z“)[Hz,w]=freqz(b,a);w=w、/pi;magh=abs(Hz);zerosIndx=find(magh==0);magh(zerosIndx)=1;magh=20*log10(magh);
% 以分貝 magh(zerosIndx)=-inf; angh=angle(Hz); angh=unwrap(angh)*180/pi;
% 角度換算 figure subplot(1,2,1)
plot(w,magh);grid on xlabel(’特征角頻率(timespi rad/sample)')title(’幅頻特性曲線 |H(w)|(dB)”);subplot(1,2,2)plot(w,angh);grid on xlabel(“特征角頻率(times\pi rad/sample)”)title('相頻特性曲線 theta(w)(degrees)“);
帶通
b)% design1、m b=[0、1,—0、3,0、3,-0、1];
% 分子系數向量 a=[1,0、6,0、4,0、1];
% 分母系數向量 printsys(b,a,’z”)[Hz,w]=freqz(b,a);w=w、/pi; magh=abs(Hz); zerosIndx=find(magh==0);magh(zerosIndx)=1;magh=20*log10(magh);
% 以分貝 magh(zerosIndx)=-inf;angh=angle(Hz);angh=unwrap(angh)*180/pi;
% 角度換算 figure subplot(1,2,1)plot(w,magh);grid on xlabel(’特征角頻率(timespi rad/sample)’)
title(“幅頻特性曲線 |H(w)|(dB)”);subplot(1,2,2)plot(w,angh);grid on
xlabel(“特征角頻率(\timespi rad/sample)’)title(”相頻特性曲線 theta(w)
(degrees)’);
高通
c)% design1、m b=[1,—1,0];
% 分子系數向量 a=[1,0,0、81];
% 分母系數向量 printsys(b,a,“z’)[Hz,w]=freqz(b,a);w=w、/pi; magh=abs(Hz); zerosIndx=find(magh==0);magh(zerosIndx)=1;magh=20*log10(magh);
% 以分貝 magh(zerosIndx)=—inf;angh=angle(Hz); angh=unwrap(angh)*180/pi;
% 角度換算 figure subplot(1,2,1)plot(w,magh);grid on xlabel(”特征角頻率(\times\pi rad/sample)')title(“幅頻特性曲線 |H(w)|(dB)”);subplot(1,2,2)
plot(w,angh);
grid on xlabel(’特征角頻率(\timespi rad/sample)")title(’相頻特性曲線 theta(w)
(degrees)’);
帶通
實驗心得: :本來理論知識不就是很強得,雖然已經編出程序得到相關圖形,但就是不會辨別相關通帶,這讓我深刻地反省。
第五篇:信號與系統實驗報告
中南大學
信號與系統試驗報告
姓名:
學號:
專業班級:自動化
實驗一
基本信號得生成1.實驗目得
? 學會使用 MATLAB 產生各種常見得連續時間信號與離散時間信號;? 通過MATLAB 中得繪圖工具對產生得信號進行觀察,加深對常用信號得理解;? 熟悉 MATLAB 得基本操作,以及一些基本函數得使用,為以后得實驗奠定基礎。2。
實驗內容
⑴ 運行以上九個例子程序,掌握一些常用基本信號得特點及其MATLAB 實現方法;改變有關參數,進一步觀察信號波形得變化.⑵ 在范圍內產生并畫出以下信號: a)
;b); c); d).源程序: k= — 10 0 :1 1 0;;
f1k=[ze r os(1,10), , 1 ,zer os(1 1,1 1 0)];;
subplot(2 2,2,1)
stem(k, , f 1k)
title(' f1[k ] ’)
f2k=[zer os s(1 ,8), 1,z z er r os s(1 1,12)];;
su b plot(2,2,2)
s te m(k k,f2k)
titl e(“f2 [k] ’)
f3k = [zeros(1 ,14), , 1,zer os s(1 1,6 6)];;
su bplot t(2 2,2 2,3)
st e m(k,f 3 k)
ti t le(”f3[k]“)
f 4k= 2*f2k k--f3 k;
su bpl ot(2,2 2,4)
s s t em(k,f4k)
t t i tle('f 4[k]”)
⑶ 在 范圍內產生并畫出以下信號: a);b);c)。
請問這三個信號得基波周期分別就是多少? 源程序: k= = 0:
;
f1 1 k= = sin(pi /4* k))、* cos(pi /4*k);;
subp lo t(3,1, 1))
st em(k,f1 1 k))
t itle(' f1[k ]“ ”)
f2 k=(cos(pi/4*k))、^ ^ 2;;
subp l ot(3, 1 ,2)
st t em m(k,f2 k))
ti i tl e('f2 [k ]“ ”)
f3 k =s in n(pi /4*k)、*cos s(p i/8 *k k);;
sub p lot(3,1 1,3)
st em m(k ,f3k)
tit le e(’f3 [k k ] ’)
其中f1[k]得基波周期就是4, f2[k]得基波周期就是4, f3[k]得基波周期就是 16. 實驗 二
信號得基本運算1。
實驗目得
? 學會使用MATLAB完成信號得一些基本運算;? 了解復雜信號由基本信號通過尺度變換、翻轉、平移、相加、相乘、差分、求與、微分及積分等運算來表達得方法;? 進一步熟悉 MATLAB 得基本操作與編程,掌握其在信號分析中得運用特點與使用方式. 2。
實驗內容
⑴ 運行以上三個例題程序,掌握信號基本運算得MATLAB實現方法;改變有關參數,考察相應信號運算結果得變化特點與規律。
⑵ 已知信號如下圖所示:
a)用 MATLAB 編程復現上圖;%作業題2
a: t=-6:0、001 :6;ft1=t rip uls(t, 6,0、5);sub plot(2,1,1)
plot(t,ft1)t tit le(’f(t)’)
b)畫出得波形;%b t= -6:0、00 1:6;f ft 1= tripuls(2 *(1 —t),6,0、5); %s ubp lot(1,1,1)
pl ot(t,ft 1)t it le(’f(2*(1-t)“)-4-3-2-1 0 1 2 3 400.20.40.60.811.21.41.61.82tf(t)給 定 信 號 f(t)
c)畫出得波形;
%c h=0、00 1;t= —6: h:6;yt= tri pu ls(t,6,0、5); y 1= diff(yt)*1/h;plot(t(1:lengt h(t)—1),y1)
tit le(’df(t)/ dt ’)
d)畫出得波形。
%d t=—6:0、1:6;for x=1:length(t)
y2(x)=quad(’tripuls(t,6,0、5)’,-3,t(x));
end plot(t,y2)
title(”integral of f(t)“)
實驗 三
系統得時域分析1。
實驗目得
? 學習并掌握連續時間系統得零狀態響應、沖激響應與階躍響應得 MATLAB求解方法; ? 學習并掌握離散時間系統得零狀態響應、沖激響應與階躍響應得 MATLAB 求解方法;? 進一步深刻理解連續時間系統與離散時間系統得系統函數零極點對系統特性得影響;學習并掌握卷積得 MATLAB 計算方法。
2.實驗內容
⑴ 運行以上五個例題程序,掌握求解系統響應得 MATLAB分析方法;改變模型參數,考察系統響應得變化特點與規律。
⑵ 設離散系統可由下列差分方程表示:
計算時得系統沖激響應。
源程序:
k= — 20:100 ;
a= [1 1
--1 0、9] ;
b=[1];
h= i mpz(b b,a a,k k);;
stem(k, h);;
xla b el(’Ti me(sec)’)
y y lab el(’y(t)”)
⑶ 設,輸入,求系統輸出。
(取)
源程序: k=--1 1 0 :50 ;
u u k= = [z z e ro s(1,1 0), o nes(1, 51))];;
u 1k=[ z er o s(1,20),o o n es(1, , 41)];;
h k=0、9 9、^k、*uk;
fk=u k--u1k;
yk=co o nv v(hk,f k));
stem(0:length(yk)--1,yk);;
⑷ 已知濾波器得傳遞函數:
輸入信號為為隨機信號。試繪出濾波器得輸出信號波形.(取)源程序: R=101 ;
d=rand(1 ,R)
—0 0、5;;
t=0:100 ;
s=2 * si n(0、05*pi*t);
f=s +d d ;
su bp lo t(2,1,1);
plot(t,d ,’ g--、',t t,s,’b--— “,t,f,”r--');
xl l ab b el l(“ ” Ti i m e in d ex t’);;
legend(“d [t t ] ”,“ s[ [ t]” “,”f[t ] ’);
tit t le e(“ ” 處理前得波形'))
b=[0、22 0 ];a=[ 1
-0 0、8];
y=fi lt er(b,a,f));
su bp p l ot(2 2,1,2);
pl ot t(t ,s,“b —--” “,t t,y,’r--’);
xl ab b e l(’ Ti i m e i nd ex t”);
leg e nd(“s [t t ] ’,’ y [t ]');;
title(” “ 濾波器輸出波形’))
實驗 四
周期信號得頻域分析
1..實驗目得
? 掌握周期信號傅立葉級數分解與合成得計算公式 ? 掌握利用 MATLAB實現周期信號傅立葉級數分解與綜合方法 ? 理解并掌握周期信號頻譜特點
2、實驗內容 1、仿照例程,實現下述周期信號得傅立葉級數分解與合成:
要求:
(a)首先,推導出求解,,得公式,計算出前 10 次系數;
(b)利用MATLAB 求解,,得值,其中,求解前 10 次系數,并給出利用這些系數合成得信號波形。
(a)設周期信號得周期為,角頻率,且滿足狄里赫利條件,則該周期信號可以展開成傅立葉級數。
(1)三角形式傅立葉級數
dt t n t fTbdt t n t fTadt t fTat n b t n a at b t a t b t a t b t a a t fTT nTT nTTnnnnn n n n???? ???????????? ? ?? ? ? ? ? ? ? ? ?***1 02 2 2 2 1 1 1 1 0111111sin)(2cos)(2)(1)sin()cos(...sin cos...sin cos sin cos)(??? ?? ? ? ? ? ?
(2)指數形式傅立葉級數
(b)求解,及合成信號波形所用程序: function [A_sym,B_sym]=CTFShchsym % 采用符號計算求一個周期內連續時間函數 f 得三角級數展開系數,再用這些 %
展開系數合成連續時間函數f、傅立葉級數 % 量值數是就都出輸入輸得數函?%
數階得波諧 6=fN?% Nn
數位確準得據數出輸?% 數系開展項 soc 波諧次、、、3,2,1是就次依素元后其,項流直是就素元 1 第?mys_A?% B_sym 第 2,3,4,、、、元素依次就是 1,2,3、、、次諧波 sin項展開系數 %
tao=1
tao/T=0、2 syms t n k x
T=4;tao=T/4;a=-1、5;if nargin<4
Nf=10; end if nargin<5
Nn=32;end
1-3-4 5 4 1 O
x=time_fun_x(t);A0=int(x,t,a,T+a)/T;
%求出三角函數展開系數A0 As=2/T*int(x*cos(2*pi*n*t/T),t,a,T+a);
%求出三角函數展開系數 As Bs=2/T*int(x*sin(2*pi*n*t/T),t,a,T+a);
%求出三角函數展開系數 Bs A_sym(1)=double(vpa(A0,Nn));
%獲取串數組 A0 所對應得 ASC2碼數值數組 for k=1:Nf A_sym(k+1)=double(vpa(subs(As,n,k),Nn));
%獲取串數組A所對應得 ASC2碼數值數組 B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn));
%獲取串數組B所對應得 ASC2 碼數值數組 end;
if nargout==0
c=A_sym;disp(c);
%輸出 c 為三角級數展開系數:第 1 元素就是直流項,其后元素依次就是 1,2,3、、、次諧波cos 項展開系數 d=B_sym;disp(d);
%輸出 d 為三角級數展開系數:
第 2,3,4,、、、元素依次就是 1,2,3、、、次諧波sin 項展開系數
t=—3*T:0、01:3*T;
f 0= c(1);
%直流
f 1 = c(2)、* co s(2* p i* 1 * t /T)+ d(2)、* s i n(2 * pi* 1 * t /T);
% 基波
f 2= c(3)、* c o s(2*pi * 2 * t/T)+d(3)、*sin(2 * pi * 2* t /T);
% 2 次諧波
f3=c(4)、*cos(2*pi*3*t/T)+d(4)、*sin(2*pi*3*t/T);
% 3次諧波
f4=c(5)、*cos(2*pi*4*t/T)+d(5)、*sin(2*pi*4*t/T);
% 4次諧波
f5=c(6)、*cos(2*pi*5*t/T)+d(6)、*sin(2*pi*5*t/T);
% 5次諧波
f6=c(7)、*cos(2*pi*6*t/T)+d(7)、*sin(2*pi*6*t/T);
% 6 次諧波
f 7=c(8)、*cos(2*p i * 7 *t/T)
+d(8)、* sin(2 * p i * 7 *t/T);
% 7 次諧波
f8=c(9)、*cos(2*pi*8*t/T)+d(9)、*sin(2*pi*8*t/T);
% 8次諧波
f9 = c(1 0)、* c o s(2 * p i*9 * t /T)+d(10)、* s in(2 * p i * 9 *t/T);
% 9 次諧波
f 1 0=c(11)、*co s(2 * pi*10*t/T)
+d(1 1)、*s i n(2*pi * 1 0 *t/T);
% 10次諧波
f11=f0+f1+f2;
% 直流+基波+2 次諧波
f12=f11+f3;
% 直流+基波+2 次諧波+3 次諧波
f13=f12+f4+f5+f6;
% 直流+基波+2 次諧波+3次諧波+4次諧波+5 次諧波+6 次
諧波
f14=f13+f7+f8+f9+f10;
%0~10 次
subplot(2,2,1)
plot(t,f0+f1),hold on
y=time_fun_e(t);
%調用連續時間函數-周期矩形脈沖
plot(t,y,”r:“)
title(”直流+基波’)
axis([-8,8,-0、5,1、5])
subplot(2,2,2)
plot(t,f12),hold on
y=time_fun_e(t);
plot(t,y,’r:’)
title(“1—3 次諧波+直流”)
axis([—8,8,-0、5,1、5])
subplot(2,2,3)
plot(t,f13),hold on
y=time_fun_e(t);
plot(t,y,’r:’)
title(“1—6 次諧波+直流')
axis([-8,8,-0、5,1、5])
subplot(2,2,4)
plot(t,f14),hold on
y=time_fun_e(t);
plot(t,y,”r:’)
title(’1—10 次諧波+直流“)
axis([-8,8,-0、5,1、5])
hold off end function y=time_fun_e(t)% 該函數就是 CTFShchsym、m 得子函它由符號函數與表達式寫成 a=1、5; T=4; h=1; tao=T/4;t=—3*T:0、01:3*T;e1=1/2+1/2、*sign(t—0、5+tao/2); e2=1/2+1/2、*sign(t—0、5—tao/2); y=h、*(e1—e2);
%連續時間函數—周期矩形脈沖 function x=time_fun_x(t)
% 該函數就是 CTFShchsym、m得子函數。它由符號變量與表達式寫成.h=1;
x1=sym(”Heaviside(t)“)*h;x=x1-sym(’Heaviside(t-1)’)*h;
2、已知周期為T=4 得三角波,在第一周期(-2 function [A_sym,B_sym]=CTFSshbpsym(T,Nf)% 采用符號計算求[0,T]內時間函數得三角級數展開系數。 % ? 函數得輸入輸出都就是數值量 % Nn 輸出數據得準確位數 % mys_A? 第1元素就是直流項,其后元素依次就是1,2,3、、、次諧波 cos項展開系數 % B_sym 數系開展項 nis 波諧次、、、3,2,1 是就次依素元、、、,4,3,2 第?% T T=m*tao, 信號周期 % ? fN? 諧波得階數 % m(m=T/tao)周期與脈沖寬度之比,如 m=4,8,16,100等 % tao 脈寬:tao=T/m syms t n y if nargin<3 Nf=input(’please Input 所需展開得最高諧波次數:Nf=’);end T=input(’please Input 信號得周期 T=”);if nargin〈5 Nn=32;end y=time_fun_s(t); A0=2/T*int(y,t,0,T/2);As=2/T*int(y*cos(2*pi*n*t/T),t,0,T/2); Bs=2/T*int(y*sin(2*pi*n*t/T),t,0,T/2);A_sym(1)=double(vpa(A0,Nn));for k=1:Nf A_sym(k+1)=double(vpa(subs(As,n,k),Nn)); B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn)); end if nargout==0 An=fliplr(A_sym); %對 A_sym 陣左右對稱交換 An(1,k+1)=A_sym(1); %A_sym 得 1*k 陣擴展為 1*(k+1)陣 An=fliplr(An); %對擴展后得 S1陣左右對稱交換回原位置 Bn=fliplr(B_sym); %對 B_sym 陣左右對稱交換 Bn(1,k+1)=0; %B_sym得 1*k 陣擴展為1*(k+1)陣 Bn=fliplr(Bn); %對擴展后得 S3陣左右對稱交換回原位置 FnR=An/2—i*Bn/2; % 用三角函數展開系數 A、B值合成付里葉指數系數 FnL=fliplr(FnR); N=Nf*2*pi/T; k2=—N:2*pi/T:N; Fn=[FnL,FnR(2:end)]; %subplot(3,3,3) %x=time_fun_e(t); % 調用連續時間函數-周期矩形脈沖 subplot(2,1,1) stem(k2,abs(Fn)); %畫出周期矩形脈沖得頻譜(T=M*tao) title('連續時間函數周期三角波脈沖得雙邊幅度譜’) axis([-80,80,0,0、12]) line([-80,80],[0,0],'color“,’r”) line([0,0],[0,0、12],’color’,'r“) end function x=time_fun_e(t)% 該函數就是CTFSshbpsym、m得子函數。它由符號變量與表達式寫成。 % t 組數間時是就?% T 2、0=T/oat=ytud 期周是就??T=5;t=—2*T:0、01:2*T; tao=T/5;x=rectpuls(t,tao); %產生一個寬度 tao=1 得矩形脈沖 subplot(2,2,2) plot(t,x) hold on x=rectpuls(t—5,tao); %產生一個寬度tao=1 得矩形脈,中心位置在t=5處 plot(t,x) hold on x=rectpuls(t+5,tao); %產生一個寬度tao=1得矩形脈,中心位置在 t=—5處 plot(t,x) title(”周期為 T=5,脈寬 tao=1得矩形脈沖')axis([-10,10,0,1、2])function y=time_fun_s(t) syms t y=1—abs(t);x1=sym('Heaviside(t+2)’);x=x1—sym("Heaviside(t-2)’);y=y*x;ezplot(t,y,[—10,10])grid