1

假设我在 matlab 中模拟 SAR 信号处理。你知道这样的框图:
在此处输入图像描述
这是我到目前为止所尝试的。

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等等?

4

1 回答 1

2

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

% 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]);

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

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

于 2014-01-23T13:48:36.500 回答