matlab编程数字信号,MATLAB--数字信号实验.doc
MATLAB--數字信號實驗
前言
MATLAB 是一套功能強大的工程計算及數據處理軟件,廣泛應用于工業,電子,醫療和建筑等眾多領域。它是一種面向對象的,交互式程序設計語言,其結構完整又優良的可移植性。它在矩陣運算,數字信號處理方面有強大的功能。另外,MATLAB提供了方便的繪圖功能,便于用戶直觀地輸出處理結果。
本課程實驗要求學生運用MATLAB編程完成一些數字信號處理的基本功能,加深對教學內容的理解。
實驗1 常見離散信號的MATLAB產生和圖形顯示和離散系統的差分方程、沖激響應和卷積分析
實驗目的:1、加深對常用離散信號的理解;
2、加深對離散系統的差分方程、沖激響應和卷積分析方法的理解。
3、驗證線性系統的線性
實驗原理:(一)常用的離散信號
單位抽樣序列
在MATLAB中可以利用zeros()函數實現。
如果在時間軸上延遲了k個單位,得到即:
2.單位階躍序列
在MATLAB中可以利用ones()函數實現。
3.正弦序列
在MATLAB中
4.復正弦序列
在MATLAB中
5.指數序列
在MATLAB中
(二)離散系統的差分方程
離散系統
其輸入、輸出關系可用以下差分方程描述:
輸入信號分解為沖激信號,。記系統單位沖激響應
,則系統響應為如下的卷積計算式:
當時,h[n]是有限長度的(n:[0,M]),稱系統為FIR系統;反之,稱系統為IIR系統。
在MATLAB中,可以用函數y=Filter(p,d,x) 求解差分方程,也可以用函數 y=Conv(x,h)計算卷積。
實驗內容:1、編制程序產生上述5種信號(長度可輸入確定),并繪出其圖形。
2、編制程序求解下列兩個系統的單位沖激響應和階躍響應以及輸入信號為,并繪出其圖形。(利用遞推解法和MATLAB提供的FILTER函數和CONV函數)
3、計算下列卷積,并圖示各序列及其卷積結果。
4、編制程序驗證系列系統的線性性質。
輸入序列可采用
實驗要求:(1)預先閱讀附錄(MATLAB基礎介紹);
(2)討論復指數序列的性質。
(3)給出理論計算結果和程序計算結果并討論。
附錄:近似程序
1、clear,n0=0;nf=10;ns=3;
n1=n0:nf;
x1=[zeros(1,ns-n0),1,zeros(1,nf-ns)];%單位脈沖序列的產生
%用邏輯試產生單位脈沖序列更為簡潔n1=n0:nf;x1=[(n1-ns)==0]
n2=n0:nf;x2=[zeros(1,ns-n0),ones(1,nf-ns+1)];%單位階躍序列的產生
%用邏輯試產生單位階躍序列語句n1=n0:nf;x1=[(n1-ns)>=0]
n3=n0:nf;x3=exp((-0.2+0.5j)*n3);%復指數序列
subplot(2,2,1),stem(n1,x1);title('單位脈沖序列');
subplot(2,2,3),stem(n2,x2);title('單位階躍序列');
subplot(2,2,2),stem(n3,real(x3));line([0,10],[0,0]);
title('復指數序列'),ylabel('實部');
subplot(2,2,4),stem(n3,imag(x3));line([0,10],[0,10]),%畫橫坐標
ylabel('虛部')
2、clear;close all;
N=64;n=0:N-1;m=10;
B=[1,0.66,0.5,0.3,0.4,4,1];
A=[1,3,4,4,1,22,2];
x1=[n==0];
y1=filter(B,A,x1);
x2=[(n-m)==0];
y2=filter(B,A,x2);
x3=[n>=0];
y3=filter(B,A,x3);
x4=[(n>=0)&(n<32)];
y4=filter(B,A,x4);
x5=exp(j*pi*n/8);
y5=filter(B,A,x5);
subplot(3,2,1),stem(n,y1);title('y1');
subplot(3,2,2),stem(n,y2);title('y2');
subplot(3,2,3),stem(n,y3);
title('y3');
subplot(3,2,4),stem(n,y4);title('y4');
subplot(3,2,5),stem(n,y5);title('y5');
3、clear;close all;
Nx=20;Nh=10;m=5;
n=0:Nx-1;
x1=(0.9).^n
總結
以上是生活随笔為你收集整理的matlab编程数字信号,MATLAB--数字信号实验.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 刺猴是什么
- 下一篇: hilbert曲线序编码matlab,H