www.pudn.com > AR_MATLAB.rar > WienerFilter_SeqGen.m


% File: WienerFilter_SeqGen.m 
% ---------------------------- 
% This file is used to generate Signal, Input and Noise sequnences. 
 
function WienerFilter_SeqGen(L, N) 
% L = 500; % number of input samples 
% N = 10; % FIR filter length 
 
a = 0.95; % for noise w(n) 
noisevector_w = rand(L, 1) .* (2 * sqrt(3 * (1 - a * a))) - ones(L, 1) .* sqrt(3 * (1 - a * a)); 
a = 0; % for noise v(n) 
noisevector_v = rand(L, 1) .* (2 * sqrt(3 * (1 - a * a))) - ones(L, 1) .* sqrt(3 * (1 - a * a)); 
 
a = 0.95; % for signal s(n) = a * s(n - 1) + w(n) 
s_0 = 0; % for s(1) = 0 + w(1) 
signalvector_s = zeros(L, 1); 
signalvector_s(1) = a * s_0 + noisevector_w(1); 
for i = 2: L 
    signalvector_s(i) = a * signalvector_s(i - 1) + noisevector_w(i); 
end 
 
% for signal x(n) = s(n) + v(n) 
signalvector_x = signalvector_s + noisevector_v; 
 
savefile = 'WienerFilter_SeqGen.mat'; 
save(savefile, 'L', 'N', 'noisevector_w', 'noisevector_v', 'signalvector_s', 'signalvector_x');