10.7MHzFM中频信号的AD带通采样的MATLAB
时间: 2023-10-07 21:11:24 浏览: 46
代码如下:
```matlab
% 10.7MHz FM intermediate frequency signal sampling
% Signal parameters
fc = 10.7e6; % Carrier frequency
fm = 15e3; % Modulation frequency
kf = 2e3; % Frequency deviation sensitivity
fs = 100e6; % Sampling frequency
Ts = 1/fs; % Sampling period
% Time vector
t = 0:Ts:1/fm;
% Generate FM signal
m_t = cos(2*pi*fm*t); % Message signal
phi_t = 2*pi*fc*t + 2*pi*kf*cumsum(m_t); % FM signal
s_t = cos(phi_t); % FM modulated signal
% Plot the FM signal
figure;
plot(t, s_t);
xlabel('Time (s)');
ylabel('Amplitude');
title('FM modulated signal');
% Bandpass sampling
fIF = fc - fm; % Intermediate frequency
f1 = fIF - kf*max(abs(m_t)); % Lower frequency limit
f2 = fIF + kf*max(abs(m_t)); % Upper frequency limit
fB = f2 - f1; % Bandwidth
fN = 2*fB/Ts; % Nyquist frequency
N = 2^nextpow2(fN/fs); % Number of samples
f = linspace(-fs/2, fs/2, N); % Frequency vector
H = (f > f1 & f < f2); % Ideal bandpass filter
s_t_IF = s_t .* cos(2*pi*fIF*t);% Downconvert to intermediate frequency
S_f = fftshift(fft(s_t_IF, N)); % Frequency spectrum of IF signal
S_f_filt = S_f .* H; % Filtered frequency spectrum
s_t_filt = ifft(ifftshift(S_f_filt)); % Filtered time-domain signal
% Plot the filtered signal
figure;
plot(t, s_t_filt);
xlabel('Time (s)');
ylabel('Amplitude');
title('Bandpass sampled and filtered signal');
```
该代码首先生成了一个10.7MHz的FM信号,并进行了时域绘制。然后进行带通采样,将信号降频到中频,然后进行理想带通滤波,最后进行IFFT还原时域信号,并进行绘制。