2014-01-22 54 views
0

假设我正在matlab中模拟SAR信号处理。你知道这样的框图:
enter image description here
这是我迄今为止尝试过的。将低通模拟滤波器应用于matlab中的模拟信号

t = 0:0.01:10; 
f0 = 10^(-6); 
t1 = 1; 
f1 = 100; 
y = chirp(t,f0,t1,f1,'linear'); 
%starting to generate I's 
y1Modulated = y.*cos(2*pi*f0*t); 
y1ModulatedFrequencyDomain = fft(y1Modulated); 

如图所示,进入低通滤波器的信号是模拟信号。因此,我们应该在

matlab ---> signal processing toolbox ---> Analog and Digital filters ---> Analog filters 

使用过滤器,但我不知道该使用或如何获得的功能参数,如:besselapcheblap等等?

回答

1

有很多方法可以实现你正在尝试做的事情。 这里是写代码为您的方框图的一种方式:

% define some simulation parameters 
fs = 80e6;  % sample rate of 80 MHz 
f0 = 10e6;  % frequency of your complex mixer 

% generate the chirp with whatever parameters you need 
t = 0:1/fs:1000*1/fs; 
y = chirp(t,9e6,6.25e-6,11e6); 

% add a bit of noise to make the simulation more realistic 
% here we make the signal-to-noise ratio approximately 40 dB 
y = awgn(y,40,'measured'); 

% apply the complex mixing 
y2 = y.*exp(j.*2.*pi.*f0.*t); 

% create an example lowpass filter and filter the signal to remove images 
[b,a] = butter(8,0.1); 
y3 = filter(b,a,y2); 

% plot the signals to see what they look like 
figure(1); 
plot(t,y); 
grid on; 
title('Received Chirp Signal (time domain)'); 
figure(2); 
plot(linspace(-fs/2,fs/2,length(y)),20.*log10(abs(fftshift(fft(y))))); 
grid on; 
title('Received Chirp Signal (frequency domain)'); 
xlabel('frequency (Hz)'); 
ylabel('dB'); 
axis([-fs/2 fs/2 -30 40]); 

figure(3); hold on; 
plot(t,real(y3)); 
plot(t,imag(y3),'r'); 
grid on; 
title('Baseband Chirp Signal (time domain)'); 
figure(4); 
plot(linspace(-fs/2,fs/2,length(y3)),20.*log10(abs(fftshift(fft(y3))))); 
grid on; 
title('Baseband Chirp Signal (frequency domain)'); 
xlabel('frequency (Hz)'); 
ylabel('dB'); 
axis([-fs/2 fs/2 -30 40]); 

enter image description here enter image description here enter image description here enter image description here

现在,你还问要使用的低通滤波器的设计。这完全取决于你想要达到的目标,你需要指定一个过滤器来满足你的要求。在我上面的例子中,我使用了第8阶巴特沃斯设计。但是通常使用FIR滤波器来实现线性相位响应。