📄 sfb_sym.m
字号:
function y = sfb_sym(lo, bp, hi, sf)
% SYNTHESIS FILTER BANK
% with symmetric extension
% y = sfb_even(lo, bp, hi, sf)
% INPUT
% lo : lowpass subband signal
% bp : bandpass subband signal
% hi : highpass subband signal% sf : synthesis filters
% OUTPUT
% y : output signal
g0 = sf{1};g1 = sf{2};g2 = sf{3};
N = 2*length(lo);
% lowpass subband
A = length(g0)/2;
k = 0:A-1;
lo = [lo(A-k) lo lo(N/2-k)]; % symmetric extension
lo = up(lo,2); % upsample
lo = conv(lo,g0); % filter
lo = lo(3*A-1+[1:N]); % extract valid part
% bandpass subband
A = length(g1)/2;
k = 0:A-2;
bp = [bp(A-k) bp bp(N/2-k)]; % symmetric extension
bp = up(bp,2); % upsample
bp = conv(bp,g1); % filter
bp = bp(3*A-2+[1:N]); % extract valid part
% highpass subband
A = (length(g2)+1)/2;
k = 0:A-1;
hi = [hi(A-k) hi hi(N-k)]; % symmetric extension
hi = conv(hi,g2); % filter
hi = hi(2*A+[1:N]-1); % extract valid part
% add signals
y = lo + bp + hi;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -