鼾音訊號測量計畫
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

鼾音訊號測量計畫 PowerPoint PPT Presentation


  • 95 Views
  • Uploaded on
  • Presentation posted in: General

鼾音訊號測量計畫. 執導老師 : 侯春茹 老師 組員 : 金雍庭 胡庭恩 林承葦 賴彥亨. 目錄. 訊號的簡介 臨床 應用 量測 部位與方法 訊號 特徵 訊號處理流程 鼾聲量得訊號. 訊號處理 流程. 麥克風收音. 前級放大器 AD620. 高通 濾波 10Hz. 後級 放大器 TL082. 帶拒濾波 60Hz. 低通 濾波 1kHz. 晶片 MSP430F5438A. 電腦 端. 第 一部分作業為訊號加窗. 鼾聲測量訊號. 軟顎 部位的鼾聲頻率大多分布在 150 Hz~300 Hz 之間 ,

Download Presentation

鼾音訊號測量計畫

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


2430816

鼾音訊號測量計畫

執導老師:侯春茹 老師組員:金雍庭

胡庭恩

林承葦

賴彥亨


2430816

目錄

  • 訊號的簡介

    • 臨床應用

    • 量測部位與方法

    • 訊號特徵

  • 訊號處理流程

  • 鼾聲量得訊號


2430816

訊號處理流程

麥克風收音

前級放大器

AD620

高通濾波

10Hz

後級放大器

TL082

帶拒濾波

60Hz

低通濾波

1kHz

晶片

MSP430F5438A

電腦端


2430816

  • 第一部分作業為訊號加窗


2430816

鼾聲測量訊號

軟顎部位的鼾聲頻率大多分布在 150 Hz~300 Hz 之間,

舌根部位之頻率大多分布在 500 Hz~750 Hz

原始訊號


2430816

原始訊號取小段


Hamming

窗型函數 Hamming


Rectangular

Rectangular


Hanning

Hanning


Blackman

Blackman


Triangular

Triangular


2430816

n1=length(signal_1);

window1=hamming(n1)'; % Hamming window

addwindow1=(signal_1).*window1; % 原始訊號乘上 Hamming window

u1=fft(addwindow1,L);

u1_2=u(1:(length(u1)/2))

u_mag1=abs(u1_2);

u_ang1=angle(u1_2);

figure(4)

subplot(2,2,1)

plot(window1); % Hamming window的頻譜圖

title('Hamming window')

axis tight

subplot(2,2,2)

plot(addwindow1);

title('原始訊號乘上 Hamming window')

axis tight

subplot(2,2,3)

plot(fy_2,u_mag1)

title('強度頻譜')

subplot(2,2,4)

plot(fy_2,u_ang1)

title('相位頻譜')

print('-f4', '-djpeg', '-r300', 'fig4');


2430816

window2=rectwin(n1); % Rectangular window

addwindow2=(signal_1).*rectwin(n1)'; % 原始訊號乘上 Rectangular window

u2=fft(addwindow2,L);

u2_2=u(1:(length(u2)/2))

u_mag2=abs(u2_2);

u_ang2=angle(u2_2);

figure(5)

subplot(2,2,1)

plot(window2); % Rectangular window的頻譜圖

title('Rectangular window')

axis tight

subplot(2,2,2)

plot(addwindow2);

title('原始訊號乘上 Rectangular window')

axis tight

subplot(2,2,3)

plot(fy_2,u_mag2)

title('強度頻譜')

subplot(2,2,4)

plot(fy_2,u_ang2)

title('相位頻譜')

print('-f5', '-djpeg', '-r300', 'fig5');


2430816

window3=hanning(n1); % Hann window

addwindow3=(signal_1).*hanning(n1)'; % 原始訊號乘上 Hanning window

u3=fft(addwindow3,L);

u3_2=u(1:(length(u3)/2))

u_mag3=abs(u3_2);

u_ang3=angle(u3_2);

figure(6)

subplot(2,2,1)

plot(window3); % Hanning window的頻譜圖

title('Hanning window')

axis tight

subplot(2,2,2)

plot(addwindow3);

title('原始訊號乘上 Hanning window')

axis tight

subplot(2,2,3)

plot(fy_2,u_mag3)

title('強度頻譜')

subplot(2,2,4)

plot(fy_2,u_ang3)

title('相位頻譜')

print('-f6', '-djpeg', '-r300', 'fig6');


2430816

window4=blackmanharris(n1); % Blackman window

addwindow4=(signal_1).*blackmanharris(n1)'; % 原始訊號乘上 Blackman window

u4=fft(addwindow4,L);

u4_2=u(1:(length(u4)/2))

u_mag4=abs(u4_2);

u_ang4=angle(u4_2);

figure(7)

subplot(2,2,1)

plot(window4); % Blackman window的頻譜圖

title('Blackman window')

axis tight

subplot(2,2,2)

plot(addwindow4);

title('原始訊號乘上 Blackman window')

axis tight

subplot(2,2,3)

plot(fy_2,u_mag4)

title('強度頻譜')

subplot(2,2,4)

plot(fy_2,u_ang4)

title('相位頻譜')

print('-f7', '-djpeg', '-r300', 'fig7');


2430816

window5=triang(n1); % Triangular window

addwindow5=(signal_1).*triang(n1)'; % 原始訊號乘上 Triangular window

u5=fft(addwindow5,L);

u5_2=u(1:(length(u5)/2))

u_mag5=abs(u5_2);

u_ang5=angle(u5_2);

figure(8)

subplot(2,2,1)

plot(window5); % Triangular window的頻譜圖

title('Triangular window')

axis tight

subplot(2,2,2)

plot(addwindow5);

title('原始訊號乘上 Triangular window')

axis tight

subplot(2,2,3)

plot(fy_2,u_mag5)

title('強度頻譜')

subplot(2,2,4)

plot(fy_2,u_ang5)

title('相位頻譜')

print('-f8', '-djpeg', '-r300', 'fig8');


2430816

  • 第二部分用各種濾波器對訊號做濾波

    備註:各濾波器的階數皆已調到最理想的狀態,但有些濾波的結果仍不甚明顯


2430816

濾波結果


Butter worth

Butter worth低通濾波前後


Butter worth1

Butter worth高通濾波前後


Butterworth

Butterworth帶拒濾波


2430816

[h_low,f_low]=freqz(b0,a0,512,fs);

[h_high,f_high]=freqz(b1,a1,256,fs);

[h_stop,f_stop]=freqz(b2,a2,512,fs);

figure(1)

subplot(431)

plot(f_low,abs(h_low))

xlabel('Frequence(Hz)')

ylabel('H(w)')

title('butterworthLowpass')

subplot(432)

plot(f_high,abs(h_high))

xlabel('Frequence(Hz)')

ylabel('H(w)')

title('butterworthHighpass')

subplot(433)

plot(f_stop,abs(h_stop))

xlabel('Frequence(Hz)')

ylabel('H(w)')

title('butterworthStoppass')

%% 原始訊號讀取

clc

clear all

close all

[FILENAME,PATHNAME] =

uigetfile ('*.wav');

if FILENAME

fullname = [PATHNAME,FILENAME];

[SignalData,fs] = wavread(fullname);

end

%%

signal_1=detrend(SignalData);

SignalData_detrend=

signal_1(8735000:8815000);

T=1/fs;

N=length(SignalData_detrend);

u=fft(signal_1);

NR=fs/2;%低通

[n,Wn]=buttord(1000/NR,1800/NR,1,60);

[b0,a0]=butter(n,Wn,'low');

y=filter(b0,a0,SignalData_detrend);

figure(6)

plot(y)

[n,Wn]=buttord(10/NR,0.5/NR,1,60);

%高通

[b1,a1]=butter(n,Wn,'high');

y=filter(b1,a1,SignalData_detrend);

[b2,a2]=butter(2,[57 63]./NR,'stop');

%帶拒

y=filter(b2,a2,SignalData_detrend);


2430816

ell濾波器

[n_low_ell,Wn_low_ell]=ellipord(1000/NR,1800/NR,1,60);

[b_low_ell,a_low_ell]=ellip(n_low_ell,1,60,Wn_low_ell,'low');

SignalData_IIR_low_ell=filter(b_low_ell,a_low_ell,SignalData_detrend);

[n_high_ell,Wn_high_ell]=ellipord(10/NR,0.5/NR,1,60);

[b_high_ell,a_high_ell]=ellip(n_high_ell,1,60,Wn_high_ell,'high');

SignalData_IIR_high_ell=filter(b_high_ell,a_high_ell,SignalData_detrend);

[b_stop_ell,a_stop_ell]=ellip(3,1,60,[57 63]./NR,'stop');

SignalData_IIR_stop_ell=filter(b_stop_ell,a_stop_ell,SignalData_detrend);

[h_low_ell,f_low_ell]=freqz(b_low_ell,a_low_ell,256,fs);

[h_high_ell,f_high_ell]=freqz(b_high_ell,a_high_ell,256,fs);

[h_stop_ell,f_stop_ell]=freqz(b_stop_ell,a_stop_ell,256,fs);

figure(1)

subplot(434)

plot(f_low_ell,abs(h_low_ell))

xlabel('Frequence(Hz)')

ylabel('H(w)')

title('Elliptic Lowpass')

subplot(435)

plot(f_high_ell,abs(h_high_ell))

xlabel('Frequence(Hz)')

ylabel('H(w)')

title('Elliptic Highpass')

subplot(436)

plot(f_stop_ell,abs(h_stop_ell))

xlabel('Frequence(Hz)')

ylabel('H(w)')

title('Elliptic Stoppass')


Chebyshevi

[n_low_cheI,Wn_low_cheI]=cheb1ord(1000/NR,1800/NR,1,60);

[b_low_cheI,a_low_cheI]=cheby1(n_low_cheI,1,Wn_low_cheI,'low');

SignalData_IIR_low_cheI=filter(b_low_cheI,a_low_cheI,SignalData_detrend);

[n_high_cheI,Wn_high_cheI]=cheb1ord(10/NR,0.5/NR,1,60);

[b_high_cheI,a_high_cheI]=cheby1(n_high_cheI,1,Wn_high_cheI,'high');

SignalData_IIR_high_cheI=filter(b_high_cheI,a_high_cheI,SignalData_detrend);

figure(123)

freqz(b_high_cheI,a_high_cheI,256,fs);

[fy,sfft]=fft_me(SignalData_IIR_high_cheI,fs)

figure(124)

plot(fy,abs(sfft))

[b_stop_cheI,a_stop_cheI]=cheby1(3,1,[57 63]./NR,'stop');

SignalData_IIR_stop_cheI=filter(b_stop_cheI,a_stop_cheI,SignalData_detrend);

[h_low_cheI,f_low_cheI]=freqz(b_low_cheI,a_low_cheI,256,fs);

[h_high_cheI,f_high_cheI]=freqz(b_high_cheI,a_high_cheI,256,fs);

[h_stop_cheI,f_stop_cheI]=freqz(b_stop_cheI,a_stop_cheI,256,fs);

figure(1)

subplot(437)

plot(f_low_cheI,abs(h_low_cheI))

xlabel('Frequence(Hz)')

ylabel('H(w)')

title('ChebyshevILowpass')

subplot(438)

plot(f_high_cheI,abs(h_high_cheI))

xlabel('Frequence(Hz)')

ylabel('H(w)')

title('ChebyshevIHighpass')

subplot(439)

plot(f_stop_cheI,abs(h_stop_cheI))

xlabel('Frequence(Hz)')

ylabel('H(w)')

title('ChebyshevIStoppass')

ChebyshevI濾波器


Chebyshevii

[n_low_cheII,Wn_low_cheII]=cheb2ord(1000/NR,1800/NR,1,60);

[b_low_cheII,a_low_cheII]=cheby2(n_low_cheII,60,Wn_low_cheII,'low');

SignalData_IIR_low_cheII=filter(b_low_cheII,a_low_cheII,SignalData_detrend);

[n_high_cheII,Wn_high_cheII]=cheb2ord(10/NR,0.5/NR,1,60);

[b_high_cheII,a_high_cheII]=cheby2(n_high_cheII,60,Wn_high_cheII,'high');

SignalData_IIR_high_cheII=filter(b_high_cheII,a_high_cheII,SignalData_IIR_low_cheII);

[b_stop_cheII,a_stop_cheII]=cheby2(3,60,[57 63]./NR,'stop');

SignalData_IIR_stop_cheII=filter(b_stop_cheII,a_stop_cheII,SignalData_IIR_high_cheII);

[h_low_cheII,f_low_cheII]=freqz(b_low_cheII,a_low_cheII,256,fs);

[h_high_cheII,f_high_cheII]=freqz(b_high_cheII,a_high_cheII,256,fs);

[h_stop_cheII,f_stop_cheII]=freqz(b_stop_cheII,a_stop_cheII,256,fs);

figure(1)

subplot(4,3,10)

plot(f_low_cheII,abs(h_low_cheII))

xlabel('Frequence(Hz)')

ylabel('H(w)')

title('ChebyshevIILowpass')

subplot(4,3,11)

plot(f_high_cheII,abs(h_high_cheII))

xlabel('Frequence(Hz)')

ylabel('H(w)')

title('ChebyshevIIHighpass')

subplot(4,3,12)

plot(f_stop_cheII,abs(h_stop_cheII))

xlabel('Frequence(Hz)')

ylabel('H(w)')

title('ChebyshevIIStoppass')

ChebyshevII濾波器


2430816

加窗與傅立葉轉換

n1=length(y);

window1=hamming(n1)'; % Hamming window

addwindow1=(y).*window1; % 原始訊號乘上 Hamming window

%

u=fft(addwindow1);

fd=1/(N*T); % 頻率間隔

m=0:(N-1); % 頻率點數

fy=m.*fd;

fy_2=fy(1:(length(fy)/2));

u_2=u(1:(length(u)/2));

k=fs*(0:length(u)-1)/length(u);

u_mag=abs(u_2);

u_ang=angle(u_2);

figure(4)

plot(fy_2,u_mag)

title(‘butterworth強度頻譜')


  • Login