數字信號處理課程設計
A. 數字信號處理課程設計
這個問題我來回答哈
採集系統說明:
麥克風輸入方式MiclnMATLAB函數
MATLAB中提供了強大的數據採集工具箱(DAQ-Data Acquisition Toolbox),可滿足控制音效卡進行數據採集的要求:
wavrecord(n,fs,ch,dtype) %記錄聲音
waveplay(y,fs) %發送向量信號
wavread(file) %讀取wave文件
sound(y,fs) %向揚聲器送出音頻信號
濾波函數說明:
採用Kaiser window FIR:
Sampling Frequency: 8192
Type:Lowpass
Fc:956.6
Beta:5
分幀函數說明:
語音處理工具箱:VOICEBOX Speech Processing Toolboxv5中提供了該函數:
function f=enframe(x,win,inc)
端點檢測函數說明:
zcr = sum(signs.*diffs, 2); %計算過零率
amp = sum(abs(enframe(filter([1 -0.9375], 1, x), FrameLen, FrameInc)), 2);
%計算短時能量
【參考書目】
1.《現代語音處理技術及應用》
2.《現代語音技術基礎與應用》
3.《語音信號處理》
4.《語音信號處理[專著]》
5.《Visual C++開發工具程序員參考手冊》
6. 《信號處理濾波器設計--基於MATLAB和Mathematic》
7. 《數字信號處理及其MATLAB實現》
8. 《MATLAB數字信號詳解》
原程序:
【附源程序】
1.界面:
clear
global hpop hlist
clf reset
H=axes('unit','normalized','position',[0,0,1,1],'visible','off');
set(gcf,'currentaxes',H);
str='\fontname{隸書}';
h_fig=get(H,'parent');
set(h_fig,'unit','normalized','position',[0.1,0.2,0.7,0.6]);
hlist=uicontrol(h_fig,'style','list','unit','normalized',...
'position',[0.7,0.6,0.2,0.2],...
'string','錄音|濾波|分幀|端點檢測|錄音回放','MAX',2);
hpush=uicontrol(h_fig,'style','push','unit','normalized',...
'position',[0.76,0.32,0.1,0.06],'string',{'運行'},'callback',...
'yuyin');
分幀:
function f=enframe(x,win,inc)
nx=length(x);
nwin=length(win);
if (nwin == 1)
len = win;
else
len = nwin;
end
if (nargin < 3)
inc = len;
end
nf = fix((nx-len+inc)/inc);
f=zeros(nf,len);
indf= inc*(0:(nf-1)).';
inds = (1:len);
f(:) = x(indf(:,ones(1,len))+inds(ones(nf,1),:));
if (nwin > 1)
w = win(:)';
f = f .* w(ones(nf,1),:);
end
global hlist
B=get(hlist,'value');
switch B
case 1
fs = 11025;
x = wavrecord(5*fs);
subplot('position',[0.001,0.03,1,0.8]),plot(x);...
title('原圖');
axis square;axis off
case 2
I=imread('bonemarr.tif');
J=imadjust(I,[0 1],[1 0],1.3);
subplot('position',[0.05,0.6,0.3,0.3]),subplot('position',[0.05,0.6,0.3,0.3]),imshow(I);...
title('原圖');
axis square;axis off
subplot('position',[0.38,0.6,0.3,0.3]),imshow(J),title('調整後');
case 3
f=enframe(x,10);
subplot('position',[0.05,0.6,0.3,0.3]),subplot('position',[0.05,0.6,0.3,0.3]),plot(x);...
title('原圖');
axis square;axis off
subplot('position',[0.38,0.6,0.3,0.3]),plot(f),title('分幀後');
case 4
[x1,x2] = vad(x)
case 5
wavplay(x);
end
2.檢測程序:
www.starlunwen.com
www.starlunwen.com
B. MATLAB 數字信號處理課程設計 FIR
ideallp is short for ideal lowpass
程序的返回值為Sa函數形式,即理想低通濾波器的單位脈沖響應。
C. 數字信號課程設計
Matlab在數字信號處理課程設計中的應用
作者:李永全 來源:現代電子技術
摘 要:分析了數字信號處理課程的重要性及特點,為了幫助學生理解與掌握課程中的基本概念、基本原理、基本分析方法,提出了用Matlab進行數字信號處理課程設計的思路,並闡述了課程設計的具體方法、步驟和內容。
關鍵詞:數字信號處理;課程設計;Matlab;頻譜分析
1 《數字信號處理》課程的特點
《數字信號處理》課程是一門理論和技術發展十分迅速、應用非常廣泛的前沿性學科,他的理論性和實踐性都很強,他的特點是:
(1)要求的數學知識多,包括高等代數、數值分析、概率統計、隨機過程等。
(2)要求掌握的基礎知識強,網路理論、信號與系統是本課程的理論基礎。
(3)與其他學科密切相關,即與通信理論、計算機、微電子技術不可分,又是人工智慧、模式識別、神經網路等新興學科的理論基礎之一。
學生在學習這門課程時,普遍感到數字信號處理的概念抽象,對其中的分析方法與基本理論不能很好地理解與掌握。因此,如何幫助學生理解與掌握課程中的基本概念、基本原理、基本分析方法以及綜合應用所學知識解決實際問題的能力,是本課程教學中所要解決的關鍵問題。為了配合《數字信號處理》專業基礎課的理論教學,我們在電子信息工程專業教學計劃中安排了二周的《數字信號處理》課程設計,他是針對《數字信號處理》的基礎理論和演算法進行實踐環節的一個綜合訓練,以便學習鞏固所學的知識,加強理論和實際結合的能力,培養學生的綜合設計能力與實際工作能力。
Matlab語言是一種廣泛應用於工程計算及數值分析 領域的新型高級語言,Matlab功能強大、簡單易學、編程效率高,深受廣大科技工作者的歡迎。特別是Matlab還具有信號分析工具箱,不需具備很強的編程能力,就可以很方便地進行信號分析、處理和設計。因此,選擇用Matlab進行課程設計。
2 基於Matlab的課程設計
為了鞏固所學的數字信號處理理論知識,使學生對信號的採集、處理、傳輸、顯示和存儲等有一個系統的掌握和理解,精心地安排了課程設計的內容:錄制一段個人自己的語音信號,並對錄制的信號進行采樣;畫出采樣後語音信號的時域波形和頻譜圖;給定濾波器的性能指標,採用窗函數法和雙線性變換設計濾波器,並畫出濾波器的頻率響應;然後用自己設計的濾波器對採集的信號進行濾波,畫出濾波後信號的時域波形和頻譜,並對濾波前後的信號進行對比,分析信號的變化;回放語音信號;最後,設計一個信號處理系統界面。下面對各步驟加以具體說明。
2.1 語音信號的採集
要求學生利用Windows下的錄音機,錄制一段自己的話音,時間在1 s內。然後在Matlab軟體平台下,利用函數wavread對語音信號進行采樣,記住采樣頻率和采樣點數。通過wavread函數的使用,學生很快理解了采樣頻率、采樣位數等概念。
2.2 語音信號的頻譜分析
要求學生首先畫出語音信號的時域波形;然後對語音號進行快速傅里葉變換,得到信號的頻譜特性,從而加深學生對頻譜特性的理解。其程序如下:
2.3 設計數字濾波器和畫出其頻率響應
給出各濾波器的性能指標:
(1)低通濾波器性能指標 fb=1 000 Hz,fc=1 200 Hz,As=100 dB,Ap=1 dB。
(2)高通濾波器性能指標 fc=4 800 Hz,fb=5 000 Hz As=100 dB,Ap=1 dB。
(3)帶通濾波器性能指標 fb1=1 200 Hz,fb2=3 000 Hz,fc1=1 000 Hz,fc2=3 200 Hz,As=100 dB,Ap=1 dB。
要求學生用窗函數法和雙線性變換法設計上面要求的3種濾波器。在Matlab中,可以利用函數fir1設計FIR濾波器,可以利用函數butte, cheby1和ellip設計IIR濾波器;利用Matlab中的函數freqz畫出各濾波器的頻率響應。程序如下:
2.4 用濾波器對信號進行濾波
要求學生用自己設計的各濾波器分別對採集的信號進行濾波,在Matlab中,FIR濾波器利用函數fftfilt對信號進行濾波,IIR濾波器利用函數filter對信號進行濾波。
2.5 比較濾波前後語音信號的波形及頻譜
要求學生在一個窗口同時畫出濾波前後的波形及頻 譜。其程序如下:
2.6 回放語音信號
在Matlab中,函數sound可以對聲音進行回放。其調用格式:sound(x,fs,bits);可以感覺濾波前後的聲音有變化。
2.7 設計系統界面
為了使編制的程序操作方便,要求有能力的學生,設計處理系統的用戶界面。在所設計的系統界面上可以選擇濾波器的類型,輸入濾波器的參數,顯示濾波器的頻率響應,選擇信號等。
3 結語
筆者在電信97,98,99,00四屆學生中,採用Matlab進行數字信號處理課程設計,實踐證明,使學生加深了對課堂抽象概念的理解,鞏固了課堂上所學的理論知識,並能很好地理解與掌握數字信號處理中的基本概念、基本原理、基本分析方法。在課程設計中,讓學生錄制自己的聲音,設計濾波器對聲音進行處理,大大激發了同學們的學習興趣,使學生很快地掌握編程方法和解決實際問題的技巧,取得了良好的教學效果。
參考文獻
〔1〕程佩青.數字信號處理教程〔M〕.北京:清華大學出版社,2002.
〔2〕劉敏,魏玲.Matlab通信模擬與應用〔M〕.北京:國防工業出版社,2001.
D. 關於數字信號處理課程設計 線性卷積在DSP晶元上的實現
#include <math.h>
#include <stdio.h>
#define Nx a //序列x[k]的長度
#define Nh b //序列h[k]的長度
#define Length Nx+Nh-1 //卷積或相關結果序列的長度
int x[Nx]={};
int h[Nh]={};
int y[Length];
void convolution(int*, int*, int*);
void main()
{
int k;
//調用卷積程序
convolution(x, h, y);
for(k=0;k<=Length-1;k++)
fprintf(stdout,"%i ",y[k]); // 列印卷積計算結果
fprintf(stdout,"\n ");
}
void convolution(int x[Nx] , int h[Nh], int y[Length] )
{
int i,k;
for (k=0;k<=Length-1; k++)
{
int temp=0;
for(i=0; i<Nx; i++)
{ if ((k-i)>=0 && (k-i) <=Nh-1)
temp=temp+x[i]*h[k-i];
}
y[k]=temp;
}
}
這就是卷積的C語言程序,將序列和序列的長度補充進去就好了
E. DSP(數字信號處理)課程設計:explain the difference and relationship between DTFT and DFT
童鞋你電子科大的吧楊煉的課吧……
F. 數字信號處理課程設計有大神助攻嗎
數字信號處理綜合設計
一、實驗目的
1.學會MATLAB的使用,掌握MATLAB的程序設計方法;
2.掌握在Windows環境下語音信號採集的方法;
3.掌握數字信號處理的基本概念、基本理論和基本方法;
4.掌握MATLAB設計FIR和IIR數字濾波器的方法;
5.學會用MATLAB對信號進行分析和處理。
二、實驗原理
參考《數字信號處理》教材。
三、主要實驗儀器及材料
微型計算機、Matlab6.5教學版、TC編程環境。
四、實驗內容
1.語音信號的採集
要求利用windows下的錄音機(開始—程序—附件—娛樂—錄音機,文件—屬性—立即轉換—8000KHz,8位,單聲道)或其他軟體,錄制一段自己的話音,時間控制在1秒左右。然後在MATLAB軟體平台下,利用函數wavread對語音信號進行采樣,記住采樣頻率和采樣點數。通過wavread函數的使用,要求理解采樣頻率、采樣位數等概念。
G. 基於matlab數字濾波器的設計
摘要
《數字信號處理》課程是一門理論性和實踐性都很強, 它具備高等代數、數值分析、概率統計、隨機過程等計算學科的知識; 要求我們學生掌握扎實的基礎知識和理論基礎。 又是跟其他學科密切相關,即與通信理論、計算機、微電子技術不可分,又是人工智慧、模式識別、神經網路等新興學科的理論基礎之一。 本次數字濾波器設計方法是基於MATLAB的數字濾波器的設計。此次設計的主要內容為:IIR數字濾波器和FIR數字濾波器的設計
關鍵詞:IIR、FIR、低通、高通、帶阻、帶通
Abstract
"Digital Signal Processing" is a theoretical and practical nature are strong, and it has advanced algebra and numerical analysis, probability and statistics, random process such as calculation of discipline knowledge; requires students to acquire basic knowledge and a solid theoretical basis. Is closely related with other subjects, namely, and communication theory, computers, microelectronics can not be separated, but also in artificial intelligence, pattern recognition, neural network theory one of the emerging discipline. The digital filter design method is based on MATLAB for digital filter design. The main elements of design: IIR and FIR digital filter design of digital filter
Key Words: IIR, FIR, low pass, high pass, band stop, band pass
目錄
一、 前言 3
二、 課程設計的目的 3
三、 數字信號處理課程設計說明及要求 3
四、 濾波器的設計原理 4
4.1 數字濾波器簡介 4
4.2 IIR濾波器的設計原理 4
4.3 FIR濾波器的設計原理 5
4.4 FIR濾波器的窗函數設計法 6
五、 設計內容 6
5.1 設計題目: 6
5.2設計程序代碼及結果: 7
六、 結束語 15
七、 參考文獻 16
一、 前言
數字信號處理(Digital Signal Processing,簡稱DSP)是一門涉及許多學科而又廣泛應用於許多領域的新興學科。
隨著信息時代和數字世界的到來,數字信號處理已成為今一門極其重要的學科和技術領域。數字信號處理在通信語音、圖像、自動控制、雷達、軍事、航空航天、醫療和家用電器等眾多領域得到了廣泛的應用。在數字信號處理應用中,數字濾波器十分重要並已獲得廣泛應用。
二、 課程設計的目的
1)
三、 數字信號處理課程設計說明及要求
所需硬體:PC機
四、 濾波器的設計原理
4.1 數字濾波器簡介
數字濾波器是一種用來過濾時間離散信號的數字系統,通過對抽樣數據進行數學處理來達到頻域濾波的目的。可以設計系統的頻率響應,讓它滿足一定的要求,從而對通過該系統的信號的某些特定的頻率成分進行過濾,這就是濾波器的基本原理。如果系統是一個連續系統,則濾波器稱為模擬濾波器。如果系統是一個離散系統,則濾波器稱為數字濾波器。
信號 通過線性系統後,其輸出 就是輸入信號 和系統沖激響應 的卷積。除了 外, 的波形將不同於輸入波形 。從頻域分析來看,信號通過線性系統後,輸出信號的頻譜將是輸入信號的頻譜與系統傳遞函數的乘積。除非 為常數,否則輸出信號的頻譜將不同於輸入信號的頻譜,某些頻率成分 較大的模,因此, 中這些頻率成分將得到加強,而另外一些頻率成分 的模很小甚至為零, 中這部分頻率分量將被削弱或消失。因此,系統的作用相當於對輸入信號的頻譜進行加權。
4.2 IIR濾波器的設計原理
IIR數字濾波器的設計一般是利用目前已經很成熟的模擬濾波器的設計方法來進行設計,通常採用模擬濾波器原型有butterworth函數、chebyshev函數、bessel函數、橢圓濾波器函數等。
IIR數字濾波器的設計步驟:
(1) 按照一定規則把給定的濾波器技術指標轉換為模擬低通濾波器的技術指標;
(2) 根據模擬濾波器技術指標設計為響應的模擬低通濾波器;
(3) 很據脈沖響應不變法和雙線性不變法把模擬濾波器轉換為數字濾波器;
(4) 如果要設計的濾波器是高通、帶通或帶阻濾波器,則首先把它們的技術指標轉化為模擬低通濾波器的技術指標,設計為數字低通濾波器,最後通過頻率轉換的方法來得到所要的濾波器。
4.3 FIR濾波器的設計原理
FIR濾波器通常採用窗函數方法來設計。窗設計的基本思想是,首先選擇一個適當的理想選頻濾波器(它總是具有一個非因果,無限持續時間脈沖響應),然後街區(加窗)它的脈沖響應得到線性相位和因果FIR濾波器。我們用Hd(e^jw)表示理想的選頻濾波器,它在通帶上具有單位增益和線性相位,在阻帶上具有零響應。一個帶寬wc<pi的低通濾波器由下式給定:
為了從hd(n)得到一個FIR濾波器,必須同時在兩邊截取hd(n)。而要得到一個因果的線性相位濾波器,它的h(n)長度為N,必須有:
這種操作叫做加窗,h(n)可以看做是hd(n)與窗函數w(n)的乘積:
h(n)=hd(n)w(n)
其中
根據w(n)的不同定義,可以得到不同的窗結構。
在頻域中,因果FIR濾波器響應H(e^jw)由Hd(e^jw)和窗響應W(e^jw)的周期卷積得到,即
常用的窗函數有矩形窗、巴特利特(BARTLETT)窗、漢寧(HANNING)窗、海明(HAMMING)窗、布萊克曼(BLACKMAN)窗、凱澤(KAISER)窗等。
4.4 FIR濾波器的窗函數設計法
FIR濾波器的設計方法有許多種,如窗函數設計法、頻率采樣設計法和最優化設計法等。窗函數設計法的基本原理是用一定寬度窗函數截取無限脈沖響應序列獲得有限長的脈沖響應序列,主要設計步驟為:
(1) 通過傅里葉逆變換獲得理想濾波器的單位脈沖響應hd(n)。
(2) 由性能指標確定窗函數W(n)和窗口長度N。
(3) 求得實際濾波器的單位脈沖響應h(n), h(n)即為所設計FIR濾波器系數向量b(n)。
五、 設計內容
5.1 設計題目:
1-1.試用MATLAB設計一巴特沃斯低通數字濾波器,要求通帶截至頻率Wp=30HZ,主帶截至頻率為Ws=35HZ,通帶衰減不大於0.5DB,主帶衰減不小於40DB,抽樣頻Fs=100HZ。
1-2.基於Butterworth模擬濾波器原型,使用雙線性狀換設計數字濾波器:各參數值為:通帶截止頻率Omega=0.2*pi,阻帶截止頻率Omega=0.3*pi,通帶波動值Rp=1dB,阻帶波動值Rs=15dB,設Fs=20000Hz。
1-3設計一巴特沃斯高通數字濾波器,要求通帶截止頻率0.6*pi,通帶衰減不大於1dB,阻帶衰減15DB,抽樣T=1。
1-4.設計一巴特沃斯帶阻數字濾波器,要求通帶上下截至頻率為0.8*PI、0.2*PI,通帶衰減不大於1DB,阻帶上下截至頻率0.7*PI、0.4*PI 阻帶衰減不小於30DB,
2-1.用窗函數法設計一個線性相位FIR低通濾波器,並滿足性能指標:通帶邊界頻率
Wp=0.5*pi,阻帶邊界頻率Ws=0.66*pi,阻帶衰減不小於40dB,通帶波紋不大於3dB。選擇漢寧窗。
2-4.用海明窗設計一個FIR濾波器,其中Wp=0.2*pi,Ws=0.3*pi,通帶衰減不大於0.25dB,阻帶衰減不小於50dB。
5.2設計程序代碼及結果:
1-1一.試用MATLAB設計一巴特沃斯低通數字濾波器,要求通帶截至頻率Wp=30HZ,阻帶截至頻率為Ws=35HZ,通帶衰減不大於0.5DB,阻帶衰減不小於40DB,抽樣頻Fs=100HZ。
代碼為:
fp = 30;
fs = 35;
Fs = 100;
wp = 2*pi*fp/Fs;
ws = 2*pi*fs/Fs;
wp = tan(wp/2);
ws = tan(ws/2); % 通帶最大衰減為0.5dB,阻帶最小衰減為40dB
[N, wn] = buttord(wp, ws, 0.5, 40, 's'); % 模擬低通濾波器極零點
[z, p, k] = buttap(N); % 由極零點獲得轉移函數參數
[b, a] = zp2tf(z, p, k); % 由原型濾波器獲得實際低通濾波器
[B, A] = lp2lp(b, a, wp);
[bz, az] = bilinear(B, A, .5);
[h, w] = freqz(bz, az, 256, Fs);
figure
plot(w, abs(h))
grid on
圖1 巴特沃斯數字低通濾波器
1-2基於Butterworth模擬濾波器原型,使用雙線性狀換設計數字濾波器:各參數值為:通帶截止頻率Omega=0.2*pi,阻帶截止頻率Omega=0.3*pi,通帶波動值Rp=1dB,阻帶波動值Rs=15dB,設Fs=4000Hz。
代碼:
wp=0.2*pi;ws=0.3*pi;
Fs=4000;T=1/Fs;
OmegaP=(2/T)*tan(wp/2);
OmegaS=(2/T)*tan(ws/2);
rp=1;rs=15;as=15;
ripple=10^(-rp/20);attn=10^(-rs/20);
[n,wn]=buttord(OmegaP,OmegaS,rp,rs,'s');
[z,p,k]=Buttap(n);
[b,a]=zp2tf(z,p,k);
[bt,at]=lp2lp(b,a,wn);
[b,a]=bilinear(bt,at,Fs);
[db,mag,pha,grd,w]=freqz_m(b,a);
%
%下面繪出各條曲線
subplot(2,2,1);plot(w/pi,mag);title('Magnitude Frequency幅頻特性');
xlabel('w(/pi)');ylabel('|H(jw)|');
axis([0,1,0,1.1]);
set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 1]);
set(gca,'YTickMode','manual','YTick',[0 attn ripple 1]);grid
subplot(2,2,2);plot(w/pi,db);title('Magnitude Frequency幅頻特性(db)');
xlabel('w(/pi)');ylabel('dB');
axis([0,1,-30,5]);
set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 1]);
set(gca,'YTickMode','manual','YTick',[-60 -as -rp 0]);grid
subplot(2,2,3);plot(w/pi,pha/pi);title('Phase Frequency相頻特性');
xlabel('w(/pi)');ylabel('pha(/pi)');
axis([0,1,-1,1]);
subplot(2,2,4);plot(w/pi,grd);title('Group Delay群延時');
xlabel('w(/pi)');ylabel('Sample');
axis([0,1,0,15]);
set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 1]);grid
運行結果:
圖2巴特沃思數字低通濾波器幅頻-相頻特性
1-3設計一巴特沃斯高通數字濾波器,要求通帶截止頻率0.6*pi,通帶衰減不大於1dB,阻帶衰減15DB,抽樣T=1。
Wp=0.6*pi;
Ws=0.4*pi;
Ap=1;
As=15;
[N,wn]=buttord(Wp/pi,Ws/pi,Ap,As); %計算巴特沃斯濾波器階次和截止頻率
%頻率變換法設計巴特沃斯高通濾波器
[db,mag,pha,grd,w]=freqz_m(b,a); %數字濾波器響應
plot(w,mag);
title('數字濾波器幅頻響應|H(ej\Omega)|')
圖3巴特沃斯數字高通濾波器
2-1用窗函數法設計一個線性相位FIR低通濾波器,並滿足性能指標:通帶邊界頻率
Wp=0.5*pi,阻帶邊界頻率Ws=0.66*pi,阻帶衰減不小於40dB,通帶波紋不大於3dB。選擇漢寧窗。
代碼:
wp =0.5*pi;
ws=0.66*pi;
wdelta =ws-wp;
N= ceil(8*pi/wdelta)
if rem(N,2)==0
N=N+1;
end
);
運行結果:
給分就給你個全的!
圖6低通FIR濾波器
六、 結束語
本次數字濾波器設計方法是基於MATLAB的數字濾波器的設計,是用學過的數字信號理論為依據,用MATLAB代碼來實現。課程設計過程中,通過IIR數字濾波器和FIR數字濾波器的設計實例,說明如何利用MATLAB來完成數字濾波器的設計。窗函數法中相位響應有嚴格的線性,不存在穩定性問題, 設計簡單。雙線性變換不會出現由於高頻部分超過折疊頻率而混淆到低頻部分去的現象,但會產生頻率混碟現象,使數字濾波器的頻響偏移模擬濾波器的頻響。由濾波器的頻譜圖和濾波前後的語音信號的頻譜圖對比可知本設計選用雙線性變換法設計的IIR濾波器比較好。在同樣的技術指標的要求下,IIR濾波器所要求的階數N也比較小,實現起來比較容易。
通過綜合運用數字信號處理的理論知識進行濾波器設計,通過理論推導得出相應結論,再利用 MATLAB 作為編程工具進行計算機實現,從而加深了對所學知識的理解,建立概念。對以前在課本上所學的東西有了更深入的理解和掌握。最後,無論做什麼課程設計,都需要要有一定的理論知識作為基礎,同時通過這次課程設計,我對於以前所學的數字信號處理知識有了更深的理解。
七、 參考文獻
1. 程佩青《數字信號處理教程》北京清華大學出版社2007年2月.
2. 趙知勁、劉順蘭《數字信號處理實驗》.浙江大學出版社.
3. S.K.Mitra.Digital Signal Processing:A Computer-Based Approach.
NewYork,NewYork:McGraw-Hill,thirded,2006.
4. 肖偉、劉忠等《 MATLAB程序設計與應用》清華大學出版社、北京交通大學出版社.
5. 胡良劍、孫曉君 《 MATLAB數學實驗》.高等教育出版社.
H. 數字信號處理課程設計《數 字 化 雷 達 正 交 解 調 的 設 計 與 仿 真 實 現》
你好,,我可以的。
I. 數字信號處理的課程設計怎麼做
數字信號處理綜合設計
一、實驗目的
1.學會MATLAB的使用,掌握MATLAB的程序設計方法;
2.掌握在Windows環境下語音信號採集的方法;
3.掌握數字信號處理的基本概念、基本理論和基本方法;
4.掌握MATLAB設計FIR和IIR數字濾波器的方法;
5.學會用MATLAB對信號進行分析和處理。
二、實驗原理
參考《數字信號處理》教材。
三、主要實驗儀器及材料
微型計算機、Matlab6.5教學版、TC編程環境。
四、實驗內容
1.語音信號的採集
要求利用windows下的錄音機(開始—程序—附件—娛樂—錄音機,文件—屬性—立即轉換—8000KHz,8位,單聲道)或其他軟體,錄制一段自己的話音,時間控制在1秒左右。然後在MATLAB軟體平台下,利用函數wavread對語音信號進行采樣,記住采樣頻率和采樣點數。通過wavread函數的使用,要求理解采樣頻率、采樣位數等概念。
wavread函數調用格式:
y=wavread(file),讀取file所規定的wav文件,返回採樣值放在向量y中。
[y,fs,nbits]=wavread(file),采樣值放在向量y中,fs表示采樣頻率(Hz),nbits表示采樣位數。
y=wavread(file,N),讀取前N點的采樣值放在向量y中。
y=wavread(file,[N1,N2]),讀取從N1點到N2點的采樣值放在向量y中。
2.語音信號的頻譜分析
要求首先畫出語音信號的時域波形;然後對語音信號進行頻譜分析,在MATLAB中,可以利用函數fft對信號進行快速付立葉變換,得到信號的頻譜特性;從而加深對頻譜特性的理解。
3.設計數字濾波器和畫出頻率響應
根據語音信號的特點給出有關濾波器的性能指標:1)低通濾波器性能指標,fp=1000Hz,fc=1200 Hz, As=100dB,Ap=1dB;2)高通濾波器性能指標,fc=2800 Hz,fp=3000 Hz As=100dB,Ap=1dB;3)帶通濾波器性能指標,fp1=1200 Hz,fp2=3000 Hz,fc1=1000 Hz,fc2=3200 Hz,As=100dB,Ap=1dB。要求學生首先用窗函數法設計上面要求的三種濾波器,在MATLAB中,可以利用函數fir1設計FIR濾波器,然後在用雙線性變換法設計上面要求的三種濾波器;之後再利用函數butter和cheby1設計上面要求的三種IIR濾波器。最後,利用MATLAB中的函數freqz畫出各濾波器的頻率響應。
4.用濾波器對信號進行濾波
比較FIR和IIR兩種濾波器的性能,然後用性能好的各濾波器分別對採集的信號進行濾波,在MATLAB中,FIR濾波器利用函數fftfilt對信號進行濾波,IIR濾波器利用函數filter對信號進行濾波。
5.比較濾波前後語音信號的波形及頻譜
要求在一個窗口同時畫出濾波前後的波形及頻譜。
6.回放語音信號
在MATLAB中,函數sound可以對聲音進行回放。其調用格式:
sound(x,fs,bits);
可以感覺濾波前後的聲音有變化。
五、實驗思考
1.雙線性變換法中Ω和ω之間的關系是非線性的,在實驗中你注意到這種非線性關系了嗎?從哪幾種數字濾波器的幅頻特性曲線中可以觀察到這種非線性關系?
2.能否利用公式完成脈沖響應不變法的數字濾波器設計?為什麼?
六、實驗報告要求
1.簡述實驗原理及目的。
2.按照實驗步驟及要求,比較各種情況下的濾波性能。
3.總結實驗所得主要結論。
4.簡要回答思考題。