% Parameters
omega_a = 0.1*pi;
omega_b = 0.05*pi;
omega_I = 0.5*pi;
omega_Q = 0.5*pi;
fs = 1000; % Sampling frequency
T = 1/fs; % Sampling period
t = 0:200; % Time vector
% Generate input signals
x1 = cos(omega_a*t);
x2 = sin(omega_b*t);
% Modulation
modulated_signal = x1 .* cos(omega_I*t) - x2 .* sin(omega_Q*t);
% Demodulation
demodulated_x1 = modulated_signal .* cos(omega_I*t);
demodulated_x2 = -modulated_signal .* sin(omega_Q*t);
% Butterworth lowpass filter design
cutoff_freq = 0.15*pi; % Adjust as needed
order = 4;
[b, a] = butter(order, cutoff_freq);
% Apply filter to regenerate input message signals
filtered_x1 = filter(b, a, demodulated_x1);
filtered_x2 = filter(b, a, demodulated_x2);
% Plot the results
figure;
subplot(1,1,1);
plot(t, x1,'r',t, x2,'g');
title('Original x1[n] and x2[n]');
xlabel('Time');
ylabel('Amplitude');
legend('x1[n]', 'x2[n]');
figure;
subplot(1,1,1);
plot(t, modulated_signal);
title('Modulated Signal');
xlabel('Time');
ylabel('Amplitude');
figure;
subplot(1,1,1);
plot(t, filtered_x1, 'r', t, filtered_x2, 'g');
title('Filtered Demodulated Signals');
xlabel('Time');
ylabel('Amplitude');
legend('Filtered x1[n]', 'Filtered x2[n]');
figure;
subplot(2,1,1);
plot(t, demodulated_x1);
title('demodulated x1');
xlabel('Time');
ylabel('Amplitude');
2023-07-28
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 好好生活,让自己知足常乐,如此,才能享受生活的幸福。我们都知道,人生没有重来时,岁月也不会为谁而停留,人生没有如果...