国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MATLAB GUI筆記(十):音頻信號(hào)處理

這篇具有很好參考價(jià)值的文章主要介紹了MATLAB GUI筆記(十):音頻信號(hào)處理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

筆記十是音頻信號(hào)處理,首先加載音頻信號(hào),分析其時(shí)頻域,然后加入單頻噪聲干擾,最后選擇濾波器進(jìn)行濾波處理。

一、音頻信號(hào)時(shí)頻域分析

1. 打開GUI

選擇Blank GUI,然后更改保存路徑
MATLAB GUI筆記(十):音頻信號(hào)處理

2. 點(diǎn)擊1個(gè)面板和2個(gè)坐標(biāo)區(qū),然后拖動(dòng)出來

MATLAB GUI筆記(十):音頻信號(hào)處理

3. 雙擊面板查看它的屬性

改變字體大小和顯示內(nèi)容
MATLAB GUI筆記(十):音頻信號(hào)處理

4. 再拖動(dòng)一個(gè)按鈕

MATLAB GUI筆記(十):音頻信號(hào)處理

5. 雙擊按鈕查看它的屬性

更改字體大小和顯示內(nèi)容
MATLAB GUI筆記(十):音頻信號(hào)處理

6. 右鍵打開文件按鈕,選擇查看回調(diào),點(diǎn)擊callback

MATLAB GUI筆記(十):音頻信號(hào)處理
注意:以下代碼中的部分變量使用global,是全局變量,這樣別的控件callback函數(shù)也能調(diào)用該變量。

global x;                                 % 信號(hào)的時(shí)域
global Fs;                                % 信號(hào)的采樣頻率
global tl;                                % 信號(hào)的時(shí)域坐標(biāo)范圍
global x2;                                % 信號(hào)的時(shí)域
% 獲取文件的路徑和名稱,注意文件格式為.wav格式
[filename, pathname] = uigetfile('*.wav', '音頻信號(hào)路徑');
% 如果沒有選擇文件,則返回0,顯示未選擇文件
if isequal(filename,0)
   disp('未選擇文件')
else
% 如果選擇了文件,保存文件的路徑
   path = fullfile(pathname, filename);   % 將文件的所處文件夾路徑和文件名拼接成文件路徑
   [handles.x,handles.Fs]=audioread(path);% 將文件讀取出來,輸出信號(hào)的時(shí)域和采樣頻率并保存在handle中
   x=handles.x;                           % 信號(hào)的時(shí)域
   Fs=handles.Fs;                         % 信號(hào)的采樣頻率
   axes(handles.axes1);                   % 將當(dāng)前繪圖區(qū)設(shè)置為axes1
   tl=[0:1/Fs:(length(handles.x)-1)/Fs];  % 信號(hào)時(shí)域波形的坐標(biāo)范圍,間隔為采樣頻率的倒數(shù)
   plot(tl,handles.x);                    % 繪制信號(hào)時(shí)域波形
   axis([-inf inf -1.2 1.2]);             % 坐標(biāo)軸的范圍
   title('音頻信號(hào)時(shí)域波形');             % 標(biāo)題
   xlabel('時(shí)間/s');                      % 橫坐標(biāo)標(biāo)簽
   ylabel('幅度');                        % 縱坐標(biāo)標(biāo)簽
   grid on;                               % 網(wǎng)格線打開
   
   N=length(handles.x);                   % 信號(hào)的長(zhǎng)度
   df=Fs/N;                               % 頻譜分辨率
   w=[0:df:df*(N-1)] - Fs/2;              % 頻譜范圍,-fs/2至fs/2
   X=fft(handles.x);                      % 對(duì)信號(hào)做FFT
   X=fftshift(X);                         % 將FFT之后的頻譜中心化,將0-fs頻譜轉(zhuǎn)換成-fs/2至fs/2頻譜
   axes(handles.axes2);                   % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes2
   plot(w,abs(X)/max(abs(X)));            % 繪制信號(hào)頻譜
   axis([-10000,10000,0,1]);              % 坐標(biāo)軸范圍
   title('音頻信號(hào)頻域波形');             % 標(biāo)題
   xlabel('頻率/Hz');                     % 橫坐標(biāo)標(biāo)簽
   ylabel('歸一化幅度');                  % 縱坐標(biāo)標(biāo)簽
   grid on;                               % 打開網(wǎng)格線
   x2=x;
end

7. 原始信號(hào)展示

MATLAB GUI筆記(十):音頻信號(hào)處理
MATLAB GUI筆記(十):音頻信號(hào)處理

二、播放音頻和關(guān)閉音頻

8. 拖動(dòng)兩個(gè)按鈕

MATLAB GUI筆記(十):音頻信號(hào)處理

9. 雙擊按鈕查看它的屬性

可以更改字體大小和顯示內(nèi)容
MATLAB GUI筆記(十):音頻信號(hào)處理
MATLAB GUI筆記(十):音頻信號(hào)處理

10. 右鍵播放音頻按鈕,選擇查看回調(diào),點(diǎn)擊callback

MATLAB GUI筆記(十):音頻信號(hào)處理

global x2;                      % 音頻信號(hào)
global Fs;                      % 信號(hào)的采樣頻率
sound(x2,Fs);                   % 播放音頻

11. 右鍵關(guān)閉音頻按鈕,選擇查看回調(diào),點(diǎn)擊callback

MATLAB GUI筆記(十):音頻信號(hào)處理

clear sound;                    % 關(guān)閉音頻

三、加入單頻干擾后的視頻域分析

MATLAB GUI筆記(十):音頻信號(hào)處理

13. 雙擊按鈕和可編輯文本

查看屬性并更改字體大小和顯示內(nèi)容
MATLAB GUI筆記(十):音頻信號(hào)處理
MATLAB GUI筆記(十):音頻信號(hào)處理

14. 右鍵加入單頻噪聲干擾按鈕,查看回調(diào),點(diǎn)擊callback

MATLAB GUI筆記(十):音頻信號(hào)處理

global x;                               % 信號(hào)時(shí)域波形
global Fs;                              % 信號(hào)采樣頻率
global tl;                              % 信號(hào)時(shí)域范圍
global x2;                              % 信號(hào)時(shí)域波形
axes(handles.axes1);                    % 將當(dāng)前坐標(biāo)區(qū)設(shè)置為axes1
t=0:1/Fs:(length(x)-1)/Fs;              % 單頻干擾信號(hào)的時(shí)域范圍      
Au=0.07;                                % 單頻干擾信號(hào)幅度
fn =  get(handles.edit1,'string');      % 獲取輸入的單頻干擾頻率值 
fn = str2double(fn);                    % 將string轉(zhuǎn)換成double型
noise=Au*cos(2*pi*fn*t)';               % 單頻干擾信號(hào)的波形,加轉(zhuǎn)置是因?yàn)橐纛l信號(hào)x是列向量,需要統(tǒng)一
x=x+noise;                              % 將音頻信號(hào)和單頻干擾相加
plot(tl,x);                             % 繪制加入噪聲后音頻信號(hào)時(shí)域波形
title('加入噪聲后時(shí)域波形');            % 標(biāo)題
xlabel('時(shí)間/s');                       % 橫軸標(biāo)簽
ylabel('幅度');                         % 縱軸標(biāo)簽
grid on;                                % 打開網(wǎng)格線
N=length(x);                            % 信號(hào)長(zhǎng)度
df=Fs/N;                                % 信號(hào)頻譜分辨率
w=[0:df:df*(N-1)] - Fs/2;               % 信號(hào)頻率范圍
X=fft(x);                               % 對(duì)信號(hào)做FFT
X=fftshift(X);                          % 將0-fs頻譜搬移到-fs/2-fs/2
axes(handles.axes2);                    % 將當(dāng)前坐標(biāo)區(qū)設(shè)置為axes2
plot(w,abs(X)/max(abs(X)));             % 繪制信號(hào)頻譜
axis([-10000,10000,0,1]);               % 坐標(biāo)軸范圍
title('加入噪聲后頻域波形');            % 標(biāo)題
xlabel('頻率/Hz');                      % 橫軸標(biāo)簽
ylabel('幅度');                         % 縱軸標(biāo)簽
grid on;                                % 打開網(wǎng)格線
x2=x;

15. 單頻干擾信號(hào)展示

MATLAB GUI筆記(十):音頻信號(hào)處理

四、濾波后信號(hào)時(shí)頻域分析

16. 拖動(dòng)3個(gè)坐標(biāo)區(qū)、1個(gè)面板、4個(gè)單選按鈕、4個(gè)按鈕、2個(gè)靜態(tài)文本和2個(gè)可編輯文本

MATLAB GUI筆記(十):音頻信號(hào)處理

17 雙擊它們,更改字體大小和顯示內(nèi)容以及標(biāo)簽

面板
MATLAB GUI筆記(十):音頻信號(hào)處理
單選按鈕
MATLAB GUI筆記(十):音頻信號(hào)處理
MATLAB GUI筆記(十):音頻信號(hào)處理
MATLAB GUI筆記(十):音頻信號(hào)處理
MATLAB GUI筆記(十):音頻信號(hào)處理
按鈕
MATLAB GUI筆記(十):音頻信號(hào)處理
MATLAB GUI筆記(十):音頻信號(hào)處理
MATLAB GUI筆記(十):音頻信號(hào)處理
MATLAB GUI筆記(十):音頻信號(hào)處理
靜態(tài)文本
MATLAB GUI筆記(十):音頻信號(hào)處理
MATLAB GUI筆記(十):音頻信號(hào)處理
可編輯文本
MATLAB GUI筆記(十):音頻信號(hào)處理
MATLAB GUI筆記(十):音頻信號(hào)處理

18. 右鍵低通按鈕,查看回調(diào)函數(shù),點(diǎn)擊callback

MATLAB GUI筆記(十):音頻信號(hào)處理

global x;                           % 音頻信號(hào)
global Fs;                          % 采樣頻率
global tl;                          % 音頻信號(hào)時(shí)域范圍
global x2;                          % 音頻信號(hào)

x1=x;
fp =  get(handles.edit2,'string');  % 截止頻率1   
fp =  str2double(fp)*2;             % 將截止頻率轉(zhuǎn)換成double,然后乘以2,乘以2是為了歸一化化成數(shù)字頻率
if get(handles.radiobutton1,'value')% 如果選中了第一個(gè)單選按鈕,矩形窗按鈕
    b2=fir1(30, fp/Fs, boxcar(31)); % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)三個(gè)參數(shù)分別是階數(shù),數(shù)字截止頻率,濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的矩形窗濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度');                 % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
    elseif get(handles.radiobutton2,'value')% 如果選中了第二個(gè)單選按鈕,三角窗按鈕
    b2=fir1(30, fp/Fs, triang(31)); % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)三個(gè)參數(shù)分別是階數(shù),數(shù)字截止頻率,濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的三角窗濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度');                 % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
    elseif get(handles.radiobutton3,'value')% 如果選中了第三個(gè)單選按鈕,漢明窗按鈕
    b2=fir1(30, fp/Fs, hamming(31));  % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)三個(gè)參數(shù)分別是階數(shù),數(shù)字截止頻率,濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的漢明窗濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度');                 % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
    elseif get(handles.radiobutton4,'value')% 如果選中了第四個(gè)單選按鈕,凱撒窗按鈕
    b2=fir1(30,fp/Fs, kaiser(31));  % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)三個(gè)參數(shù)分別是階數(shù),數(shù)字截止頻率,濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的凱撒窗濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度');                 % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
end;
axes(handles.axes4);                % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes4
plot(tl,x1);                        % 繪制濾波后的時(shí)域波形
title('濾波后時(shí)域波形');            % 標(biāo)題
xlabel('時(shí)間/s');                   % 橫軸標(biāo)簽
ylabel('幅度');                     % 縱軸坐標(biāo)
axis([-inf,inf,-1.2,1.2]);          % 坐標(biāo)軸范圍
N=length(x1);                       % 時(shí)域波形長(zhǎng)度
df=Fs/N;                            % 濾波后信號(hào)的頻譜分辨率
w=[0:df:df*(N-1)] - Fs/2;           % 頻率范圍
X=fft(x1);                          % 對(duì)濾波后的信號(hào)做FFT
X=fftshift(X);                      % 將0-fs頻譜,轉(zhuǎn)換到-fs/2-fs/2頻譜
axes(handles.axes5);                % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes4
plot(w,abs(X)/max(abs(X)));         % 繪制頻譜
axis([-10000,10000,0,1]);           % 坐標(biāo)軸范圍
title('濾波后頻譜');                % 標(biāo)題
xlabel('頻率/Hz');                  % 橫軸標(biāo)簽
ylabel('幅度');                     % 縱軸坐標(biāo)
grid on;                            % 打開網(wǎng)格線
x2=x1;

19. 同樣,更改高通,帶通和帶阻的callback函數(shù)

高通

global x;                           % 音頻信號(hào)
global Fs;                          % 采樣頻率
global tl;                          % 音頻信號(hào)時(shí)域范圍
global x2;                          % 音頻信號(hào)

x1=x;
fp =  get(handles.edit2,'string');  % 截止頻率1   
fp =  str2double(fp)*2;             % 將截止頻率轉(zhuǎn)換成double,然后乘以2,乘以2是為了歸一化化成數(shù)字頻率
if get(handles.radiobutton1,'value')% 如果選中了第一個(gè)單選按鈕,矩形窗按鈕
    b2=fir1(30, fp/Fs,'high',boxcar(31)); % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)四個(gè)參數(shù)分別是階數(shù)、數(shù)字截止頻率、類型、濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的矩形窗高通濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度');                 % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
    elseif get(handles.radiobutton2,'value')% 如果選中了第二個(gè)單選按鈕,三角窗按鈕
    b2=fir1(30, fp/Fs, 'high',triang(31)); % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)四個(gè)參數(shù)分別是階數(shù)、數(shù)字截止頻率、類型、濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的三角窗高通濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度');                 % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
    elseif get(handles.radiobutton3,'value')% 如果選中了第三個(gè)單選按鈕,漢明窗按鈕
    b2=fir1(30, fp/Fs,'high',hamming(31)); % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)四個(gè)參數(shù)分別是階數(shù)、數(shù)字截止頻率、類型、濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的漢明窗高通濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度');                 % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
    elseif get(handles.radiobutton4,'value')% 如果選中了第四個(gè)單選按鈕,凱撒窗按鈕
    b2=fir1(30,fp/Fs,'high',kaiser(31));  % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)四個(gè)參數(shù)分別是階數(shù)、數(shù)字截止頻率、類型、濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的凱撒窗高通濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度');                 % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
end;
axes(handles.axes4);                % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes4
plot(tl,x1);                        % 繪制濾波后的時(shí)域波形
title('濾波后時(shí)域波形');            % 標(biāo)題
xlabel('時(shí)間/s');                   % 橫軸標(biāo)簽
ylabel('幅度');                     % 縱軸坐標(biāo)
axis([-inf,inf,-1.2,1.2]);          % 坐標(biāo)軸范圍
N=length(x1);                       % 時(shí)域波形長(zhǎng)度
df=Fs/N;                            % 濾波后信號(hào)的頻譜分辨率
w=[0:df:df*(N-1)] - Fs/2;           % 頻率范圍
X=fft(x1);                          % 對(duì)濾波后的信號(hào)做FFT
X=fftshift(X);                      % 將0-fs頻譜,轉(zhuǎn)換到-fs/2-fs/2頻譜
axes(handles.axes5);                % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes4
plot(w,abs(X)/max(abs(X)));         % 繪制頻譜
axis([-10000,10000,0,1]);           % 坐標(biāo)軸范圍
title('濾波后頻譜');                % 標(biāo)題
xlabel('頻率/Hz');                  % 橫軸標(biāo)簽
ylabel('幅度');                     % 縱軸坐標(biāo)
grid on;                            % 打開網(wǎng)格線
x2=x1;

帶通

global x;                           % 音頻信號(hào)
global Fs;                          % 采樣頻率
global tl;                          % 音頻信號(hào)時(shí)域范圍
global x2;                          % 音頻信號(hào)

x1=x;
fp =  get(handles.edit2,'string');  % 截止頻率1   
fp =  str2double(fp)*2;             % 將截止頻率轉(zhuǎn)換成double,然后乘以2,乘以2是為了歸一化化成數(shù)字頻率
fs =  get(handles.edit3,'string');  % 截止頻率2   
fs =  str2double(fs)*2;             % 將截止頻率轉(zhuǎn)換成double,然后乘以2,乘以2是為了歸一化化成數(shù)字頻率
if get(handles.radiobutton1,'value')% 如果選中了第一個(gè)單選按鈕,矩形窗按鈕
    b2=fir1(30, [fp/Fs fs/Fs], boxcar(31)); % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)三個(gè)參數(shù)分別是階數(shù),數(shù)字截止頻率,濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的矩形窗帶通濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度');                 % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
    elseif get(handles.radiobutton2,'value')% 如果選中了第二個(gè)單選按鈕,三角窗按鈕
    b2=fir1(30, [fp/Fs fs/Fs], triang(31)); % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)三個(gè)參數(shù)分別是階數(shù),數(shù)字截止頻率,濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的三角窗帶通濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度');                 % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
    elseif get(handles.radiobutton3,'value')% 如果選中了第三個(gè)單選按鈕,漢明窗按鈕
    b2=fir1(30, [fp/Fs fs/Fs], hamming(31));  % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)三個(gè)參數(shù)分別是階數(shù),數(shù)字截止頻率,濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的漢明窗帶通濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度');                 % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
    elseif get(handles.radiobutton4,'value')% 如果選中了第四個(gè)單選按鈕,凱撒窗按鈕
    b2=fir1(30,[fp/Fs fs/Fs], kaiser(31));  % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)三個(gè)參數(shù)分別是階數(shù),數(shù)字截止頻率,濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的凱撒窗帶通濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度');                 % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
end;
axes(handles.axes4);                % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes4
plot(tl,x1);                        % 繪制濾波后的時(shí)域波形
title('濾波后時(shí)域波形');            % 標(biāo)題
xlabel('時(shí)間/s');                   % 橫軸標(biāo)簽
ylabel('幅度');                     % 縱軸坐標(biāo)
axis([-inf,inf,-1.2,1.2]);          % 坐標(biāo)軸范圍
N=length(x1);                       % 時(shí)域波形長(zhǎng)度
df=Fs/N;                            % 濾波后信號(hào)的頻譜分辨率
w=[0:df:df*(N-1)] - Fs/2;           % 頻率范圍
X=fft(x1);                          % 對(duì)濾波后的信號(hào)做FFT
X=fftshift(X);                      % 將0-fs頻譜,轉(zhuǎn)換到-fs/2-fs/2頻譜
axes(handles.axes5);                % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes4
plot(w,abs(X)/max(abs(X)));         % 繪制頻譜
axis([-10000,10000,0,1]);           % 坐標(biāo)軸范圍
title('濾波后頻譜');                % 標(biāo)題
xlabel('頻率/Hz');                  % 橫軸標(biāo)簽
ylabel('幅度');                     % 縱軸坐標(biāo)
grid on;                            % 打開網(wǎng)格線
x2=x1;

帶阻

global x;                           % 音頻信號(hào)
global Fs;                          % 采樣頻率
global tl;                          % 音頻信號(hào)時(shí)域范圍
global x2;                          % 音頻信號(hào)

x1=x;
fp =  get(handles.edit2,'string');  % 截止頻率1   
fp =  str2double(fp)*2;             % 將截止頻率轉(zhuǎn)換成double,然后乘以2,乘以2是為了歸一化化成數(shù)字頻率
fs =  get(handles.edit3,'string');  % 截止頻率2   
fs =  str2double(fs)*2;             % 將截止頻率轉(zhuǎn)換成double,然后乘以2,乘以2是為了歸一化化成數(shù)字頻率
if get(handles.radiobutton1,'value')% 如果選中了第一個(gè)單選按鈕,矩形窗按鈕
    b2=fir1(30, [fp/Fs fs/Fs],'stop', boxcar(31)); % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)三個(gè)參數(shù)分別是階數(shù),數(shù)字截止頻率,濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的矩形窗帶阻濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度/dB');              % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
    elseif get(handles.radiobutton2,'value')% 如果選中了第二個(gè)單選按鈕,三角窗按鈕
    b2=fir1(30, [fp/Fs fs/Fs],'stop', triang(31)); % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)三個(gè)參數(shù)分別是階數(shù),數(shù)字截止頻率,濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的三角窗帶阻濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度/dB');              % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
    elseif get(handles.radiobutton3,'value')% 如果選中了第三個(gè)單選按鈕,漢明窗按鈕
    b2=fir1(30, [fp/Fs fs/Fs],'stop', hamming(31));  % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)三個(gè)參數(shù)分別是階數(shù),數(shù)字截止頻率,濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的漢明窗帶阻濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度/dB');              % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
    elseif get(handles.radiobutton4,'value')% 如果選中了第四個(gè)單選按鈕,凱撒窗按鈕
    b2=fir1(30,[fp/Fs fs/Fs],'stop', kaiser(31));  % 生成fir濾波器系統(tǒng)函數(shù)中分子多項(xiàng)式的系數(shù)
    % fir1函數(shù)三個(gè)參數(shù)分別是階數(shù),數(shù)字截止頻率,濾波器類型
    % 這里是生成了30階(31個(gè)抽頭系數(shù))的凱撒窗帶阻濾波器
    axes(handles.axes3);            % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes3
    [h,w]=freqz(b2, 1,512);         % 生成fir濾波器的頻率響應(yīng)
    % freqz函數(shù)的三個(gè)參數(shù)分別是濾波器系統(tǒng)函數(shù)的分子多項(xiàng)式的系數(shù),分母多項(xiàng)式的系數(shù)(fir濾波器分母系數(shù)為1)和采樣點(diǎn)數(shù)(默認(rèn))512
    plot(w/pi*Fs/2,20*log(abs(h))); % 繪制濾波器的幅頻響應(yīng)
    xlabel('頻率');                 % 橫軸標(biāo)簽
    ylabel('幅度/dB');              % 縱軸標(biāo)簽
    title('濾波器頻譜');            % 標(biāo)題
    x1=fftfilt(b2,x1);              % 對(duì)信號(hào)進(jìn)行濾波,x1是等待濾波的信號(hào),b2是fir濾波器的系統(tǒng)函數(shù)的分子多項(xiàng)式系數(shù)
end;
axes(handles.axes4);                % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes4
plot(tl,x1);                        % 繪制濾波后的時(shí)域波形
title('濾波后時(shí)域波形');            % 標(biāo)題
xlabel('時(shí)間/s');                   % 橫軸標(biāo)簽
ylabel('幅度');                     % 縱軸坐標(biāo)
axis([-inf,inf,-1.2,1.2]);          % 坐標(biāo)軸范圍
N=length(x1);                       % 時(shí)域波形長(zhǎng)度
df=Fs/N;                            % 濾波后信號(hào)的頻譜分辨率
w=[0:df:df*(N-1)] - Fs/2;           % 頻率范圍
X=fft(x1);                          % 對(duì)濾波后的信號(hào)做FFT
X=fftshift(X);                      % 將0-fs頻譜,轉(zhuǎn)換到-fs/2-fs/2頻譜
axes(handles.axes5);                % 設(shè)置當(dāng)前坐標(biāo)區(qū)為axes4
plot(w,abs(X)/max(abs(X)));         % 繪制頻譜
axis([-10000,10000,0,1]);           % 坐標(biāo)軸范圍
title('濾波后頻譜');                % 標(biāo)題
xlabel('頻率/Hz');                  % 橫軸標(biāo)簽
ylabel('歸一化幅度');               % 縱軸坐標(biāo)
grid on;                            % 打開網(wǎng)格線
x2=x1;

20. 結(jié)果展示

MATLAB GUI筆記(十):音頻信號(hào)處理文章來源地址http://www.zghlxwxcb.cn/news/detail-488632.html

到了這里,關(guān)于MATLAB GUI筆記(十):音頻信號(hào)處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Matlab信號(hào)處理筆記

    Matlab信號(hào)處理筆記

    寒假開始學(xué)習(xí)基于MATLAB的信號(hào)處理。學(xué)習(xí)教材: 以此博客來記錄 Matlab基本函數(shù)-fix函數(shù) 與C語言的switch-case語句不同的是,在MATLAB語言中,當(dāng)其中一個(gè)case語句后的條件為真時(shí),switch-case語句不對(duì)其后的case語句進(jìn)行判斷,也就是說在MATLAB語言中,即使有多條case判斷語句為真,也

    2024年02月07日
    瀏覽(17)
  • 【老生談算法】基于matlab時(shí)域頻域處理的語音信號(hào)變聲處理系統(tǒng)設(shè)計(jì)與算法原理(論文+程序源碼+GUI圖形用戶界面)——變聲算法

    【老生談算法】基于matlab時(shí)域頻域處理的語音信號(hào)變聲處理系統(tǒng)設(shè)計(jì)與算法原理(論文+程序源碼+GUI圖形用戶界面)——變聲算法

    大家好,今天給大家介紹基于matlab的語音信號(hào)變聲處理系統(tǒng)設(shè)計(jì)與算法原理(論文+程序源碼)。 運(yùn)用matlab軟件實(shí)現(xiàn)對(duì)聲音的變聲處理,利用離散付里葉變換進(jìn)行頻譜分析;設(shè)計(jì)數(shù)字濾波器組;通過時(shí)域和頻域方法做出各種音效效果,實(shí)現(xiàn)變速(慢放、快放),變調(diào)(頻譜左

    2024年02月04日
    瀏覽(43)
  • MATLAB信號(hào)處理與應(yīng)用 讀書筆記 一

    MATLAB信號(hào)處理與應(yīng)用 讀書筆記 一

    完成了基本操作,今天組數(shù)也正常,需要對(duì)應(yīng)解決fsctrl文件中的信號(hào)處理相關(guān) 重點(diǎn)關(guān)注4傅里葉變換,6FIR濾波器,10信號(hào)處理中的應(yīng)用 字符的鏈接[\\\'aa\\\',\\\'bb\\\']; FFT用DFT原理,理解起來還是吃力 FFT繪圖部分,原信號(hào): 疊加上隨機(jī)噪聲 plot畫圖,畫連續(xù)的也需要進(jìn)行點(diǎn)數(shù)離散化,點(diǎn)

    2024年02月04日
    瀏覽(25)
  • 數(shù)字信號(hào)處理翻轉(zhuǎn)課堂筆記17——窗函數(shù)法設(shè)計(jì)FIR濾波器及matlab實(shí)現(xiàn)

    數(shù)字信號(hào)處理翻轉(zhuǎn)課堂筆記17——窗函數(shù)法設(shè)計(jì)FIR濾波器及matlab實(shí)現(xiàn)

    對(duì)應(yīng)教材:《數(shù)字信號(hào)處理(第五版)》西安電子科技大學(xué)出版社,丁玉美、高西全著 (1)窗函數(shù)法設(shè)計(jì)FIR線性相位濾波器的原理; (2)加窗效應(yīng):加窗對(duì)濾波器特性的影響(難點(diǎn)); (3)典型窗函數(shù)及其主要特性和參數(shù)(重點(diǎn)); (4)窗函數(shù)法設(shè)計(jì)FIR濾波器的步驟(

    2024年01月16日
    瀏覽(29)
  • FPGA 音頻信號(hào)處理

    第八屆集創(chuàng)賽杯賽題目——紫光同創(chuàng)杯 - 全國(guó)大學(xué)生集成電路創(chuàng)新創(chuàng)業(yè)大賽 題目任務(wù)要求:采集信號(hào)、降噪、識(shí)別、視頻展示。 硬件:麥克風(fēng)、揚(yáng)聲器、FPGA(盤古50)、HDMI顯示器 軟件:紫光同創(chuàng)PDS(用于部署)、anaconda、jupyter(用于部署訓(xùn)練網(wǎng)絡(luò)) 1.麥克風(fēng)采集好數(shù)據(jù)經(jīng)過

    2024年03月14日
    瀏覽(39)
  • 音頻信號(hào)處理庫librosa

    音頻信號(hào)處理庫librosa

    參考: 1. librosa官網(wǎng) 2. librosa語音信號(hào)處理 3. 語音信號(hào)處理庫 ——Librosa 4. librosa音頻處理教程 5. Python音頻信號(hào)處理庫函數(shù)librosa介紹

    2024年02月05日
    瀏覽(27)
  • 【FPGA-DSP】第九期:音頻信號(hào)處理

    【FPGA-DSP】第九期:音頻信號(hào)處理

    從本文開始將記錄一些簡(jiǎn)單的 音頻信號(hào)處理算法 在System Generator中的實(shí)現(xiàn)方法。本文將介紹如何搭建音頻信號(hào)的采集與輸出模型。 音頻信號(hào)屬于一維信號(hào),一些基本概念如下: 采樣頻率:根據(jù)奈奎斯特采樣定理,采樣頻率Fs應(yīng)該不低于聲音信號(hào)中最高頻率2倍。常見的音頻格

    2024年02月01日
    瀏覽(22)
  • 聊聊音頻信號(hào)處理中一個(gè)不太起眼的算法-limiter

    本文對(duì)筆者關(guān)于音頻信號(hào)處理中的 Limiter 的理解作以記錄。如有表述不當(dāng)之處歡迎批評(píng)指正。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處。 由于工作上的需要,筆者花了一周左右的時(shí)間對(duì) limiter (它屬于動(dòng)態(tài)范圍控制器里面的一種算法,動(dòng)態(tài)范圍控制器包括 compressor, expander,

    2024年02月21日
    瀏覽(72)
  • 嵌入式操作教程_數(shù)字信號(hào)處理_音頻編解碼:3-6 AAC音頻解碼實(shí)驗(yàn)

    嵌入式操作教程_數(shù)字信號(hào)處理_音頻編解碼:3-6 AAC音頻解碼實(shí)驗(yàn)

    了解AAC音頻格式,掌握AAC音頻解碼的原理,并實(shí)現(xiàn)將AAC格式的音頻解碼為PCM 音頻編解碼的主要對(duì)象是音樂和語音,音頻的編解碼格式可分為無壓縮的格式、無損壓縮格式、有損音樂壓縮格式、有損語音壓縮格式和合成算法。本實(shí)驗(yàn)中使用的AAC格式屬于有損音樂壓縮格式。音頻

    2024年04月15日
    瀏覽(26)
  • Matlab信號(hào)處理1:模擬去除信號(hào)噪聲

    Matlab信號(hào)處理1:模擬去除信號(hào)噪聲

    一個(gè)簡(jiǎn)單的示例: 設(shè)計(jì)Matlab程序,去掉左圖信號(hào)中大于20Hz的頻率,使其變?yōu)橛覉D。 注: 1. 第85行低通濾波器的設(shè)計(jì)需要在命令行窗口輸入 filterDesigner 以打開濾波器設(shè)計(jì)窗口,如下圖: 在窗口中設(shè)置如下紅框中主要參數(shù),然后點(diǎn)擊 設(shè)計(jì)濾波器 : 生成成后,會(huì)出現(xiàn)粉框中的

    2024年02月09日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包