目录
一、频分多路复用
在通信系统中,物理信道的传输能力通常远大于单一信号传输的需求。为了充分利用信道资源并提高信道利用率,可以让多路信号共同使用同一物理信道1。本文将讨论基于此原理的频分复用技术。
随着科技的飞速发展,人与人之间的沟通和联系不断加强,对通信功能和宽带业务的要求也相应提高。然而,现代社会的快速发展使得无线传输环境日益恶化,信号传输问题愈发棘手。在这种背景下,频分复用技术的提出为解决这些问题带来了有效方案。
频分复用系统的基本原理包括以下几个步骤:首先,将每个通道的基带信号通过低通滤波器进行处理,以限制基带信号的带宽并避免频谱重叠。接着,对每个信道进行调制,合成各自的载波,然后将它们发送到信道进行传输。在接收端,利用具有不同中心频率的带通滤波器分离每个调制信号,并在解调后恢复基带信号。
频分复用技术的引入和广泛应用为信号传输带来了新的可能性,对解决实际应用中遇到的许多问题具有重要的理论和实践意义。
二、实现功能
运用MATLAB集成环境下的M文件编程仿真平台进行频分多路复用系统的设计与建模。主要是对多路信号进行SSB调制,叠加,然后再进行解调,最后恢复出基带信号。
代码见基于Matlab的频分多路复用系统设计-编解码文档类资源-CSDN下载
代码在Matlab R2022a下可以直接运行,其他版本需要稍微修改下(大部分版本都可以直接运行)
本次设计,MATLAB的模拟语音信号具有相对较好的效果。其中,语音信号在FDM系统设计过程中被调制和解调,通过FDM系统得到的语音声音更接近原始语音声音。但是,在时域和频域中对比原始声音和经FDM系统恢复的声音时,可以看出两者存在着一定的差异,这是由于具有理想特性的滤波器在MATLAB中是无法实现,与实际生活中一样。但是总体设计还是比较成功的。
成功的关键在于载波频率的选择和滤波器参数的设计。
![](https://img-blog.csdnimg.cn/c0a4712f88e0456cb68530acfcd17d87.jpeg)
部分Matalb代码:
%(1)录制音频
pause %程序暂停,直至用户按任意一个按键
fs=44100; %采样频率为 44.1Khz
length=3; %录制时间为3s
fprintf('按任意键开始录音 1:\n');
pause
fprintf('录音中···\n');
myVoice1=audiorecorder(fs,8,1);%创建并返回采样频率为fs、采样位数为8、通道数为1的 audiorecorder 对象myVoice1
recordblocking(myVoice1, length);%按 length 指定的秒数从输入设备中录制音频
sd1= getaudiodata(myVoice1); %在 double 数组sd1 中返回与 audiorecorder 对象myVoice1相关联的录制音频数据。
fprintf('放音中···\n');
sound(sd1,fs);%以采样率 fs 向扬声器发送音频信号sd1
fprintf('录音 1 播放完毕。\n');
audiowrite('sound1.wav',sd1,fs); %将音频信号保存为 以WAV 为格式的声音文件
fprintf('按任意键开始录音 2:\n');
pause
fprintf('录音中···\n');
myVoice2=audiorecorder(fs,8,1);
recordblocking(myVoice2, length);
sd2= getaudiodata(myVoice2);
fprintf('放音中···\n');
sound(sd2,fs);
fprintf('录音 2 播放完毕。\n');
audiowrite('sound2.wav',sd2,fs);
fprintf('按任意键开始录音 3:\n');
pause
fprintf('录音中···\n');
myVoice3=audiorecorder(fs,8,1);
recordblocking(myVoice3, length);
sd3= getaudiodata(myVoice3);
fprintf('放音中···\n');
sound(sd3,fs);
fprintf('录音 3 播放完毕。\n');
audiowrite('sound3.wav',sd3,fs);
%(2)原语音信号的时、频域分析
fprintf('按任意键开始声音样本的时域分析:\n');
pause