訊號處理課程設計

2023-01-19 16:39:05 字數 5106 閱讀 3064

課程設計報告

(2010——2023年度第1學期)

名稱:《訊號分析與處理(自)》

題目:使用matlab工具進行數字訊號處理

院系:控制與計算機學院

班級:測控0803班

學號:1081160305

學生姓名:黃婷婷

指導教師:楊錫運、肖運啟

設計週數:一周

成績:日期:2023年12月30日

《訊號分析與處理(自)》課程設計

任務書一、 目的與要求

是使學生通過上機使用matlab工具進行數字訊號處理技術的**練習,加深對《訊號分析與處理(自)》課程所學基本理論和概念的理解,培養學生應用matlab等工具進行數字訊號處理的基本技能和實踐能力,為工程應用打下良好基礎。

二、 主要內容

1.了解matlab基本使用方法,掌握matlab數字訊號處理的基本程式設計技術。掌握數碼訊號的基本概念。

1)使用matlab(生成幾種典型數碼訊號(正弦訊號、週期訊號、高斯隨機訊號等),2)程式設計計算離散訊號的特徵值(均值、方差等)。

3)進行訊號加減運算。

2.matlab程式設計實現典型離散訊號(正弦訊號、週期訊號、隨機訊號)的離散傅利葉變換,顯示時域訊號和頻譜圖形(幅值譜和相位譜);以正弦週期訊號為例,觀察討論基本概念(混疊、洩漏、整週期擷取、頻率解析度等)。

3.設計任意數字濾波器,並對某型別訊號進行濾波,並對結果進行顯示和分析。

三、 進度計畫

四、 設計成果要求

1. 提交完成設計內容的程式

2. 提交設計報告

五、 考核方式

課程設計報告、設計內容演示和答辯相結合。

考核內容:考勤、紀律、課程設計報告、實際程式設計能力和基本概念掌握程度等。

學生姓名:黃婷婷

指導老師: 楊錫運、肖運啟

2010 年12月30日

一、 設計正文

1.了解matlab基本使用方法,掌握matlab數字訊號處理的基本程式設計技術。掌握數碼訊號的基本概念。

1)使用matlab(生成幾種典型數碼訊號(正弦訊號、週期訊號、高斯隨機訊號等)):

%生成正弦訊號sin(8π/n)

xn1=sin(pi/8*n1);

subplot(3,1,1);

stem(n1,xn1,'.');

axis([0,40,-1.5,1.5]);%規定橫座標與縱座標的範圍

xlabel('n');ylabel('xn1');title('(a)正弦訊號');

%生成週期訊號

x=[1 1 1 1 1 0 0 0];%週期為8

xn2=x'*ones(1,5);%產生5個週期長度的序列

xn2=xn2(:);

xn2=xn2';

n2=0:length(xn2)-1;

subplot(3,1,2);

stem(n2,xn2,'.');

axis([0,40,-1.5,1.5]);% 規定橫座標與縱座標的範圍

xlabel('n');ylabel('xn2');title('(b)週期訊號');

%生成高斯隨機訊號

xn3=randn(1,n3);%產生均值為0方差為1的高斯隨機序列

subplot(3,1,3);

stem(xn3);

axis([0,40,-4,4]);;%設定序列長度為40以及縱座標範圍

xlabel('n');ylabel('xn3');title('(c)高斯隨機訊號');

2)程式設計計算離散訊號的特徵值(均值、方差等):

%生成正弦訊號sin(8π/n)

xn1=sin(pi/8*n1);

subplot(3,1,1);

stem(n1,xn1,'.');

axis([0,40,-1.5,1.5]);%規定橫座標與縱座標的範圍

xlabel('n');ylabel('xn1');title('(a)正弦訊號');

%生成週期訊號

x=[1 1 1 1 1 0 0 0];%週期為8

xn2=x'*ones(1,5);%產生5個週期長度的序列

xn2=xn2(:);

xn2=xn2';

n2=0:length(xn2)-1;

subplot(3,1,2);

stem(n2,xn2,'.');

axis([0,40,-1.5,1.5]);% 規定橫座標與縱座標的範圍

xlabel('n');ylabel('xn2');title('(b)週期訊號');

%生成高斯隨機訊號

xn3=randn(1,n3);%產生均值為0方差為1的高斯隨機序列

subplot(3,1,3);

stem(xn3);

axis([0,40,-4,4]);;%設定序列長度為40以及縱座標範圍

xlabel('n');ylabel('xn3');title('(c)高斯隨機訊號');

fprintf('正弦訊號的均值為%.4f 方差分別為%.4f\n',mean(xn1),var(xn1,1));

fprintf('週期訊號的均值為%.4f 方差分別為%.4f\n',mean(xn2),var(xn2,1));

fprintf('高斯隨機訊號的均值為%.4f 方差分別為%.4f\n',mean(xn3),var(xn3,1));

執行結果:

正弦訊號的均值為0.1226 方差分別為0.4728

週期訊號的均值為0.6250 方差分別為0.2344

高斯隨機訊號的均值為-0.0467 方差分別為1.0320

3)進行訊號加減運算:

%生成正弦訊號sin(8π/n)

ns1=0;

nf1=40;

n1=[ns1:nf1];

xn1=sin(pi/8*n1);

%生成週期訊號

x=[1 1 1 1 1 0 0 0];%週期為8

xn2=x'*ones(1,5);%產生5個週期長度的序列

xn2=xn2(:);

xn2=xn2';

ns2=0;

nf2=length(xn2)-1;

n2=0:nf2;

ny=0:max(nf1,nf2);%y的位置向量

y1=zeros(1,length(ny));y2=y1;%y1,y2序列初始化

y1(find(ny<=nf1))=xn1;

y2(find(ny<=nf2))=xn2;

ya=y1+y2;%兩序列相加

ys=y1-y2;%兩序列相減

%以下為訊號相加繪圖

subplot(4,1,1);stem(n1,xn1,'.');

xlabel('n');ylabel('xn1');title('正弦訊號');grid

subplot(4,1,2);stem(n2,xn2,'.');

xlabel('n');ylabel('xn2');title('週期訊號');grid

subplot(4,1,3);stem(ny,ya,'.');

xlabel('n');ylabel('xn1+xn2');title('序列相加');grid

subplot(4,1,4);stem(ny,ys,'.');

xlabel('n');ylabel('xn1-xn2');title('序列相減');grid

2.matlab程式設計實現典型離散訊號(正弦訊號、週期訊號、隨機訊號)的離散傅利葉變換,顯示時域訊號和頻譜圖形(幅值譜和相位譜);以週期訊號為例,觀察討論基本概念(混疊、洩漏、整週期擷取、頻率解析度等)。

1) matlab程式設計實現典型離散訊號的離散傅利葉變換

%生成正弦訊號sin(8π/n)

ns1=0;

nf1=40;

n1=[ns1:nf1];

xn1=sin(pi/8*n1);

y=fft(xn1,64);%計算xn1的64點dft

%以下為正弦訊號的繪圖

k=0:63;wk=2*k/64;%產生64點dft對應的取樣點頻率(關於\pi歸一化值)

subplot(3,1,1);stem(n1,xn1,'.');

xlabel('n');ylabel('xn1');title('正弦訊號');grid

subplot(3,1,2);stem(wk,abs(y),'.');%繪製64點dft的幅頻特性圖

title('64點dft的幅頻特性圖');

xlabel('\omega/\pi');ylabel('幅度');

subplot(3,1,3);stem(wk,angle(y),'.');%繪製64點dft的相頻特性圖

title('64點dft的相頻特性圖');

xlabel('\omega/\pi');ylabel('相位');

%生成週期訊號

x=[1 1 1 1 1 0 0 0];%週期為8

xn=x'*ones(1,5);%產生5個週期長度的序列

xn=xn(:);

xn=xn';

n=0:length(xn)-1;

y=fft(xn,64);%計算xn的64點dft

%以下為週期訊號的繪圖

k=0:63;wk=2*k/64;%產生64點dft對應的取樣點頻率(關於\pi歸一化值)

subplot(3,1,1);stem(n,xn,'.');

xlabel('n');ylabel('xn2');title('週期訊號');grid

subplot(3,1,2);stem(wk,abs(y),'.');%繪製64點dft的幅頻特性圖

title('64點dft的幅頻特性圖');

xlabel('\omega/\pi');ylabel('幅度');

subplot(3,1,3);stem(wk,angle(y),'.');%繪製64點dft的相頻特性圖

title('64點dft的相頻特性圖');

xlabel('\omega/\pi');ylabel('相位');

%生成高斯隨機訊號

xn3=randn(1,40);%產生序列長度為40均值為0方差為1的高斯隨機序列

y=fft(xn3,64);%計算xn3的64點dft

%以下為高斯隨機訊號的繪圖

k=0:63;wk=2*k/64;%產生64點dft對應的取樣點頻率(關於\pi歸一化值)

訊號課程設計

1 訊號時域分析 卷和conv求響應 已知訊號為x n u n 1 u n 11 h n 0.9 n,求系統的響應y?n 1 100 x 1,1,1,1,1,1,1,1,1,1,zeros 1,90 h 0.9.n y conv x,h k 1 199 subplot 3,1,1 stem n,x ...

《數字訊號處理》課程設計指導

一 課程設計的性質與目的 數字訊號處理 課程是通訊專業的一門重要專業基礎課,是資訊的數位化處理 儲存和應用的基礎。通過該課程的課程設計實踐,使學生對訊號與資訊的採集 處理 傳輸 顯示 儲存 分析和應用等有乙個系統的掌握和理解 鞏固和運用在 數字訊號處理 課程中所學的理論知識和實驗技能,掌握數字訊號處...

參考 數字訊號處理課程設計參考

實驗一訊號 系統及系統響應2 實驗二應用fft對訊號進行頻譜分析6 實驗三用雙線性變換法設計iir濾波器11 實驗四用窗函式設計fir濾波器16 附錄a c語言實現數字訊號處理演算法21 附錄b matlab的訊號表示和處理32 附錄c matlab 下的數字訊號處理實現示例56 附錄d matla...