bss_make_lags.m
来自「一种bss盲源信号分离的工具包 可以用于盲信号的提取」· M 代码 · 共 37 行
M
37 行
function S_lags=bss_make_lags(S,L);
% create a matrix containing lagged versions of some signal(s).
%
% Usage: S_lags=bss_make_lags(S,L)
%
% Input:
% - S: n x T matrix containing the input signal(s),
% - L: number of lagged versions of the signal(s).
%
% Output:
% - S_lags: n*L x T matrix containing lagged versions of S, S_lags(t)=
% [s1(t) ; s1(t-1) ; ...; s1(t-L+1); ... ; sn(t) ; sn(t-1) ; ...; sn(t-L+1)]
%
% WARNINGS:
% * S_lags is zero-padded where necessary,
% * We use the conventions make_lags(S,0)=makes_lags(S,1)=S.
%
% Developers: - Cedric Fevotte (cf269@cam.ac.uk) - Emmanuel Vincent
% (vincent@ircam.fr) - Remi Gribonval (remi.gribonval@irisa.fr)
[n,T]=size(S);
if L==0
S_lags=S;
else
N=n*L;
S_lags=zeros(N,T);
for i=1:N
q=floor((i-1)/L);
r=mod(i-1,L);
B=zeros(1,r+1); B(end)=1;
S_lags(i,:)=filter(B,1,S(q+1,:));
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?