FM中频信号为10.7MHz,带宽为200K,如何用matlab对其进行AD带通采样
时间: 2024-05-20 10:16:07 浏览: 161
用matlab对一段音频信号进行采样,并用PCM编码后通过2FSK调制模拟信道传输matlab源码.zip
5星 · 资源好评率100%
以下是一种可能的MATLAB代码实现,其中假设您已经有一个FM中频信号的时间序列数据(例如一个.mat文件):
% Load FM intermediate frequency signal data
load('fm_if_signal.mat');
% Define sampling frequency and sampling interval
fs = 2*10.7e6; % Sampling frequency is twice the intermediate frequency
Ts = 1/fs; % Sampling interval
% Define filter parameters for bandpass filter
fc = 10.7e6; % Center frequency of bandpass filter
bw = 200e3; % Bandwidth of bandpass filter
f1 = fc - bw/2; % Lower cutoff frequency of bandpass filter
f2 = fc + bw/2; % Upper cutoff frequency of bandpass filter
order = 4; % Order of Butterworth filter
% Design and apply Butterworth bandpass filter to the FM IF signal
[b,a] = butter(order, [f1 f2]/(fs/2));
fm_if_filtered = filter(b,a,fm_if_signal);
% Perform AD sampling of the filtered signal
n_samples = length(fm_if_filtered);
t = (0:n_samples-1)*Ts; % Time vector
samples = fm_if_filtered .* cos(2*pi*fc*t); % Multiply filtered signal by cosine carrier
samples = samples(1:floor(n_samples/2)); % Discard second half of samples due to Nyquist frequency
t_samples = t(1:floor(n_samples/2)); % Time vector for AD samples
% Plot original and filtered signals, as well as AD samples
figure;
subplot(3,1,1);
plot(t, fm_if_signal);
title('Original FM IF signal');
subplot(3,1,2);
plot(t, fm_if_filtered);
title('Filtered FM IF signal');
subplot(3,1,3);
stem(t_samples, samples);
title('AD samples of filtered FM IF signal');
阅读全文