2014-01-22 78 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濾波器來實現線性相位響應。