通信原理与考研 第五章 模拟调制(4)
本文摘要:(由ai生成)
本文介绍了VSB(残留边带)调制与SSB(单边带)调制的区别,并给出了基于MATLAB的VSB调制仿真程序。程序包括生成基带信号、进行VSB调制、设计带通滤波器对调制信号进行滤波,以及绘制调制前后的信号时域图和频谱图。文章还简要提及了相干解调的概念,但未详细展开。作者通过课堂讲解和仿真作业的方式,帮助学生加深对模拟调制概念的理解,特别是信号源和载波采样频率一致性的重要性。
之前给出了FM的理论仿真程序。但没有给出VSB的代码了!这里一并给出!先看VSB的仿真程序!早年在传统的模拟电视系统中,残留边带调制发挥着关键作用。电视信号包含图像信号和伴音信号,其中图像信号采用 VSB 调制进行传输。对于图像信号,它具有较宽的频带。例如,NTSC(美国国家电视系统委员会)制式电视信号的图像信号带宽约为 4.2MHz。通过 VSB 调制,可以在有效利用频谱资源的同时,保证图像信号的高质量传输。具体来说,VSB 调制能够在给定的电视频道带宽(如 6MHz)内,保留图像信号的一个完整边带和另一个边带的残留部分,从而携带足够的图像细节信息。在接收端,利用相干解调等方式,可以恢复出原始的电视图像信号。伴音信号通常采用调频(FM)方式与 VSB 调制的图像信号一起在电视频道内传输,共同构成完整的电视广播信号。
本文内容超过三千字,希望读者能够耐心看完。这样模拟调制的内容就应该都能烂熟于心了。% 在可变子带(VSB)调制和单边带(SSB)调制中,最显著的差异在于两者对频谱的处理方式。% VSB 允许保留一部分抑制的边带,而 SSB 则完全抑制其中一个边带。% 在程序中,这两种方式的主要差异体现在滤波器的设计上。% SSB 调制:通常使用 Hilbert 变换来生成单边带信号,并完全滤除一侧的边带。% VSB 调制:通过设计一个带通滤波器来部分抑制其中一边带,而不是完全消除。%%% 基于 Hilbert 变换的 SSB 调制Fs = 1000; % Sampling frequency (Hz)Fc = 200; % Carrier frequency (Hz)t = 0:1/Fs:1-1/Fs; % Time vector% Baseband signal (a simple cosine signal for demonstration)f_base = 10; % Baseband frequency (Hz)x = cos(2*pi*f_base*t); % Baseband signal% Hilbert transform to create an analytic signalssb_signal = real(x_analytic .* exp(1i*2*pi*Fc*t)); % Single sideband modulationtitle('Baseband Signal');title('SSB Modulated Signal');Fs = 1000; % Sampling frequency (Hz)Fc = 200; % Carrier frequency (Hz)t = 0:1/Fs:1-1/Fs; % Time vector% Baseband signal (a simple cosine signal for demonstration)f_base = 10; % Baseband frequency (Hz)x = cos(2*pi*f_base*t); % Baseband signal% VSB Modulation (using Hilbert transform for SSB)% Hilbert transform to create an analytic signalvsb_signal = real(x_analytic .* exp(1i*2*pi*Fc*t)); % VSB Filter Design (Band-pass filter to partially retain one sideband)f_cutoff1 = Fc - 50; % Lower cutoff frequencyf_cutoff2 = Fc + 50; % Upper cutoff frequency[b, a] = butter(5, [f_cutoff1, f_cutoff2]/(Fs/2)); % 5th order Butterworth filter(要有对应的数字信号处理知识!)% Apply VSB filter to the modulated signalvsb_signal_filtered = filter(b, a, vsb_signal);% Plot VSB Signal (filtered)title('VSB Modulated Signal (before filtering)');plot(t, vsb_signal_filtered);title('VSB Modulated Signal (after filtering)');% Frequency spectrum of SSB and VSBL = length(t); % Length of signalf = Fs*(0:(L/2))/L; % Frequency vectorssb_spectrum = fft(ssb_signal);ssb_spectrum_mag = abs(ssb_spectrum/L);ssb_spectrum_mag = ssb_spectrum_mag(1:L/2+1);% FFT of VSB Signal (Filtered)vsb_spectrum = fft(vsb_signal_filtered);vsb_spectrum_mag = abs(vsb_spectrum/L);vsb_spectrum_mag = vsb_spectrum_mag(1:L/2+1);% Plot Frequency Spectrumplot(f, ssb_spectrum_mag);title('SSB Signal Spectrum');xlabel('Frequency (Hz)');plot(f, vsb_spectrum_mag);title('VSB Signal Spectrum');xlabel('Frequency (Hz)');这段内容再次提及相干解调!之前文章也提过?是的!这部分难度较大,暂且不在这里涉及。
VSB的解调过程和DSB解调类似,这里就不再多讲!至于如何恢复出相干载波,后续会讲。
让同学们将中频信号的加噪和基带信号的加噪进行比对,用声音感受一下噪声的威力。2024 年 10 月,22通信的同学们已经学完了模拟调制的内容,但是很多学生还是就不明白什么是调制,于是在课上给他们猛补了一个半小时。希望他们结合课后的仿真加深了解。虽然讲的都是基础内容,但是同学们依旧很多是没有掌握的,所以必须要依靠课后的仿真来加深对这些概念的理解。我在课上无数次的呼吁效果甚微,所以于是不得不用严厉的交作业的方式来逼迫他们进行模拟调制信号的仿真。从内心来说,我是不愿意这样做的。大家已经是大学生了,他们应该清楚学习是为了什么?课上我也回顾了自己学习通信的仿真之路,也许早期的难点在于理解信号源和载波的点乘过程中吧,要保证这两个信号的采样频率一致。这方面内容需要同学们好好消化。再次回顾一下FM的理论知识。频率调制是通过让载波的瞬时频率随消息信号的振幅变化而变化的一种调制方式。FM 调制广泛应用于广播系统中,具有较强的抗噪性。在看修改的代码之前,大家找到之前代码存在的问题了吗?看看改动后的程序是否能正确播放语音?看完这个程序,再给大家看看产品中的程序是什么样子的!!!