一、實驗目的 1、掌握連續時間信號與系統的時域、頻域綜合分析方法; 2、掌握運用Matlab軟件分析連續時間信號與系統的時域、頻域特性; 3、通過對連續時間信號與系統的綜合分析,加深對信號頻譜、系統函數、系統頻率特性、沖激響應、階躍響應等概念的理解,了解系統函數零、極點分布與系統的頻率特性、穩定性之間的關系。
二、實驗內容 (一)基礎部分 (1)設計一個2階或3階連續時間系統,分別用不同的實現結構(直接、級聯、并聯)實現所設計的系統,給出系統的S域模擬框圖和信號流圖,并運用Matlab軟件對系統的時域、頻域特性進行分析。
圖片1.png (700.57 KB, 下載次數: 141)
下載附件
2021-9-11 16:08 上傳
圖片2.png (112.55 KB, 下載次數: 176)
下載附件
2021-9-11 16:09 上傳

零極點圖 function [p,q]=lxljdt(A,B)
p=roots(A) %求系統極點
q=roots(B) % 求系統零點
p=p' % 極點列向量轉置為行向量
q=q' % 零點列向量轉置為行向量
x=max(abs([p,q])) % 確定坐標范圍
x=x+0.1
y=x
clf
hold on
axis([-x,x,-y,y]) % 確定坐標軸顯示范圍
axis('square')
plot([-x,x],[0,0]) % 畫橫坐標軸
plot([0,0],[-y,y]) % 畫縱坐標軸
plot(real(p),imag(p),'x') % 畫極點
plot(real(q),imag(q),'o') % 畫零點
title('零極點圖')
text(0.2,x-0.2,'虛軸')
text(y-0.4,0.2,'實軸')
>>a=[1 5 6];
>> b=[1];
>> lxljdt(a,b)

極點全部位于左半平面,因而系統穩定。
單位沖激響應 a=[1,5,6] b=[1] sys=tf(b,a) t=0:0.1:10; h=impulse(sys,t) plot(h);grid on;title('單位沖激波形')

單位階躍響應 a=[1,5,6] b=[1] sys=tf(b,a) t=0:0.1:10; h=step(sys,t) plot(h);grid on;title('單位階躍波形')

- 改變上述系統的參數,觀察并分析系統的各種響應特性,觀察并分析系統的零、極點的變化情況與系統穩定性的關系。
假設將系統改為Hs=1/(s^2-5s+6) 改變后 

原極點圖 ①將系統改為Hs=1/(s^2-5s+6)


②將系統改為Hs=1/(s^2+1) 
③將系統改為Hs=1/(s^2+4*s+6) 
④將系統改為Hs=1/(s^2-5*s+9) 
因此,系統的穩定性與極點分布有關系,極點分布與系統函數分母的形式有關,而且極點全部位于左半開平面的時候穩定。
(3)給定一個輸入激勵信號,觀察并分析該信號通過上述系統后輸出響應的頻譜的變化情況,并分析其原因。
給定輸入信號 其頻譜圖為  
通過該系統后頻譜圖 
對應程序 syms s t; f=exp(-t); f1=laplace(f); h1=1/(s^2+5*s+6); ys=f1*h1; yt=ilaplace(ys) ft=yt*heaviside(t); Fw=fourier(ft); subplot(2,1,1),ezplot(abs(Fw)),grid on,title('幅度譜') phase=atan(imag(Fw)/real(Fw)); subplot(2,1,2),ezplot(phase);grid on,title('相位譜')
(1)構建一個包含若干個不同頻率分量的周期連續信號(各分量頻率自定)f(t),截取該信號的不同長度(注意截取長度應不小于最低頻率分量的一個周期),分別用Matlab軟件分析所截取信號的頻譜(畫出頻譜圖,含幅度頻譜和相位頻譜)。比較所截取的不同長度信號頻譜的差異,同時與理論頻譜進行比較,并運用所學知識,分析產生這些差異的原因。(復習頻域卷積定理)
(1)截取長度為一半時
(2)截取長度為1/4時 (3)原信號頻譜 對信號截取,相當于對信號乘門函數,由頻域卷積定理可知,時域乘積對應頻域卷積,因信號長度不同,在卷積時頻譜造成一定影響,使低頻分量增多。 附: clear;
t = 0 : 160/499 : 40;
T = 0.08;
f0 = 10000;
f = [10 50 100];
N = 500;
dw = 0.01;
w = -100 : dw : 100;
num = length(f);
s = zeros(1, N);
for i = 1 : num
s = s + 4 * sin(f(i)*2*pi*(1:N)/f0+pi/2);
end
subplot(411)
plot(s);
axis([1 N 1.1*min(s) 1.1*max(s)]);
grid on
r = zeros(1, N/4);
for i = 1 : num
r = r + 4 * sin(f(i)*2*pi*(1:N/4)/f0+pi/2);
end
subplot(412);
plot(r);
axis([1 N 1.1*min(s) 1.1*max(s)]);
grid on
R=r*exp(-1i*t'*w)*T;
Hm1 = abs(R);
phai1 = angle(R);
Hr1 = real(R);
Hi1 = imag(R);
subplot(413)
plot (w, Hm1);
axis([-100 100 0 100]);
grid on
subplot(414)
plot (w, phai1);
axis([-20 20 -3 3]);
grid on
(2)設計一個LTI連續系統作為濾波器,對上一步構建的信號進行濾波(濾除部分頻率分量,保留另一部分頻率分量)。通過在S平面分布適當的零極點來設計該濾波器的系統函數H(s),用Matlab軟件分析所設計濾波器的頻率響應(含幅頻響應和相頻響應),并畫出頻率響應波形。運用所學知識,分析幅頻響應與零極點位置的關系。
濾波器幅頻與相頻特性如下系統為  對上述信號濾波后: 零極點圖:
當系數改為5 1和2 1時,頻譜如下 零極點圖:
附: clear;
t = 0 : 160/499 : 40;
T = 0.08;
f0 = 10000;
f = [10 50 100];
N = 500;
dw = 0.01;
w1 = -100 : dw : 100;
num = length(f);
a = [5 1];
b = [2 -1];
[H, w] = freqs(b, a);
Hm = abs(H);
phai = angle(H);
Hr = real(H);
Hi = imag(H);
s = zeros(1, N);
for i = 1 : num
s = s + 4 * sin(f(i)*2*pi*(1:N)/f0+pi/2);
end
subplot(411)
plot(s);
axis([1 N 1.1*min(s) 1.1*max(s)]);
grid on
r = zeros(1, N/4);
for i = 1 : num
r = r + 4 * sin(f(i)*2*pi*(1:N/4)/f0+pi/2);
end
subplot(412);
plot(r);
axis([1 N 1.1*min(s) 1.1*max(s)]);
grid on
R=r*exp(-1i*t'*w1)*T;
Hm1 = abs(R);
phai1 = angle(R);
Hr1 = real(R);
Hi1 = imag(R);
subplot(413)
plot (conv(Hm1,Hm));
axis([0 20000 0 2500]);
grid on
subplot(414)
plot (phai1);
axis([-10 20000 -3 3]);
grid on
(三)應用設計部分 利用Matlab進行音頻信號的獲取與輸出,并進行相應的分析,繪制信號波形及頻譜圖等。 (1)對于配置了聲卡的多媒體計算機,Matlab可以采用命令“wavrecord”來錄音,調用格式: y=wavrecord(n,Fs) n為總的取樣點數,Fs為取樣速率(樣點/秒)。標準取樣速率可設為8000,11025(默認),2250以及44100(樣點/秒)。也可以設置其它頻率但需要滿足取樣定理要求。該語句以雙精度類型記錄n點采樣速率為Fs的單聲道數字音頻,y的值域在-1到1之間。 (2)使用命令sound將數字數列以設定的采樣速率輸出到聲卡,通過聲卡轉化為模擬音頻信號。調用格式:sound(y,Fs) 其中:y為取值在[-1,1]區間的n行1列的數字序列(單聲道輸出),對于立體聲輸出y為n行2列的數字序列;Fs為設定的取樣頻率,一般聲卡支持Fs的頻率范圍為5000Hz到441000Hz。 (3)利用命令wavwrite將向量y存儲為取樣率為Fs的wav音頻文件。 調用格式:wavwrite(y,Fs,’filename’) (4) 利用命令wavread()直接讀取*.wav格式的音頻文件,命令格式: [y,Fs]=wavread('filename’) (5)對于已經錄制的音頻文件,繪制其波形及頻譜圖,并分析其頻譜特點。 (6)根據個人能力,可自行擴展設計內容。 % 錄音錄3秒鐘 recObj = audiorecorder; disp('Start speaking.') recordblocking(recObj, 3);%設置錄音時間 disp('End of Recording.');% 回放錄音數據 play(recObj);% 獲取錄音數據 myRecording = getaudiodata(recObj);% 繪制錄音數據波形 plot(myRecording);%存儲語音信號 filename = 'E:\luyin\xinhao.wav'; audiowrite(filename,myRecording,8000);
“信號”
[y,fs]=audioread('E:\luyin\xinhao.wav'); %讀取音頻信息(雙聲道,16位,頻率44100Hz) sound(y,fs); %回放該音頻 Y=fft(y,4096); %進行傅立葉變換 subplot(211); plot(y); title('聲音信號的波形'); subplot(212) plot(abs(Y)); title('聲音信號的頻譜');
以上圖文的Word格式文檔下載(內容和本網頁上的一模一樣,方便保存):
2021信號與系統綜合實驗.doc
(1.51 MB, 下載次數: 11)
2021-9-11 16:04 上傳
點擊文件名下載附件
原稿 下載積分: 黑幣 -5
|