MATLAB 三路频分复用通信系统

MATLAB 三路频分复用通信系统一、详细设计步骤(1)系统整体框图(2)语音信号采样原理图1-1语音信号的采样即为信号的抽样过程,是把连续时间模拟信号转换成离散时间连续幅度的抽样信号。其原理如图所示1-1所示,其公式为:x_a(t)^=P_T(t)*x_a(t)本系统使用MATLAB自带的函数audiorecorder(),recordlocking()和getaudiodata()获得原始语音信号,采样频率为fs=44100Hz##(3)语音信号的调制语音信号的调制即为频分复用的频谱搬移过程,

大家好,欢迎来到IT知识分享网。

一、详细设计步骤

(1)系统整体框图

系统整体框图

(2)语音信号采样

原理图 1-1


原理图 1-1
语音信号的采样即为信号的抽样过程,是把连续时间模拟信号转换成离散时间连续幅度的抽样信号。 其原理如图所示1-1所示,其公式为:

x_a (t)^= P_T (t)*x_a (t)
本系统使用MATLAB自带的函数audiorecorder(),recordlocking()和getaud iodata()获得原始语音信号,采样频率为

fs = 44100Hz

(3)语音信号的调制

语音信号的调制即为频分复用的频谱搬移过程,该过程的关键是对各路语音信号载波频率的选取。
其定义为: (3)
对应已调信号的幅度谱为:
原理图1-2


原理图1-2
由原理图1-2可知,已调信号的带宽是调制信号带宽f_H的两倍,即调制后的带宽为:

B = 2f_H
为了使各个信号不会相互干扰,各个已调信号的间隔要大于B;设各载波的频率间隔为f_g,由于f_H = 3.4KHz,所以

f_g≥B=2f_H=2×3.4KHz=6.8KHz
另外,在选取载波频率时,还要考虑抽样定理,即载波频率不能大于1/2*fs,结合(1)式可知:

fc ≤22050Hz
综合上述考虑,取fc1 = 5K,fc2 = 11.8K,fc3 = 18.6K。 将三个原始语音信号调制后相加得到复用信号。

(4)带通滤波器的设计

为了解调出原始语音信号,需要在接收端设计三个带通滤波器,为了达到较好的效果,将采用哈明窗设计FIR带通滤波器。本系统采用滤出上边频的方式,因fc1 = 5K,fc2 = 11.8K,fc3 = 18.6K,取第一路[fp1,fp2,fs1,fs2] = [5000,8400,4950,8450];第二路[fp1,fp2,fs1,fs2] = [11800,15200,11750,15
250];第三路[fp1,fp2,fs1,fs2] = [18600,22000,18550,22050];其中,fp1为通带下限边界频率,fp2为通带上限边界频率,fs1为阻带下限截止频率,fs2为阻带上限截止频率。
将复用信号分别通过三个带通滤波器得到三路已调信号。

(5)语音信号的解调

语音信号的解调过程分为两个过程,分别为与载波相乘和低通滤波。
①与载波相乘
由于带通滤波器,本系统滤出的是上边频,因此其公式为:


U = 1/2 AU_Ωm U_cm [cos⁡(w_c+Ω)t+cos⁡(w_c-Ω)t]*cos⁡(w_c )


= 1/2 AU_Ωm U_cm [cos⁡(2w_c+Ω)t+cosΩt]
式中包含cosΩt,说明将已调信号与载波信号相乘可以得到高频2w_c+Ω和原始信号频率叠加的波形。 ②低通滤波的设计 为了得到原始信号,将解调后的信号送至低通滤波器,滤除高频成分即可得到原始信号。同样为了达到较好的效果,将采用哈明窗设计FIR带通滤波器;因语音信号的频带范围小于3.4K,将低通滤波器的截止频率设置为3.4K。

(6)语音信号的还原

经过第(5)步得到的信号即为采样信号,要听到原始信号的复原还需将采样信号转换成模拟信号;本系统使用MATLAB自带的audioplayer()函数直接还原出模拟信号,最后使用play()函数将信号播出。

二、程序代码

(1)获取语音信号函数

%------------------------------------------------------------------------
% File name:           getaudio
% Last modified Date:  2021年6月7日10点59分
% Author:              Jasmine
% Descriptions:        函数getaudio(),获取语音信号函数
% Parameter:          输入参数fresam为采样频率,sto为存储方式,met为1时为
%                      一通道是单声道,为2时为两通道是立体声
%------------------------------------------------------------------------

function str = getaudio(fresam,sto,met)
    disp('按下任意键开始录音:');
    pause
    audio = audiorecorder(fresam,sto,met);
    disp('开始录音!');
    %录音时间为10s
    recordblocking(audio, 10);
    disp('录音结束!');
    % 获取录音数据
    str = getaudiodata(audio);
end

(2)设计带通滤波器函数

%------------------------------------------------------------------------
% File name:           bandpass
% Last modified Date:  2021年6月7日10点59分
% Author:              Jasmine
% Descriptions:        函数bandpass(),使用哈明窗设计带通滤波器
% Parameter:          输入参数分别为:fp1通带下限边界频率,fp2通带上限边界频率
%                      fs1阻带下限截止频率,fs2阻带上限截止频率;输出参数为a即所设计的FIR滤波器
%------------------------------------------------------------------------

function a = bandpass(fp1,fp2,fs1,fs2)
    fs = 44100;
    %将各频率转换成相应的数字滤波器频率
    wp1 = 2*pi*fp1/fs;wp2 = 2*pi*fp2/fs;
    ws1 = 2*pi*fs1/fs;ws2 = 2*pi*fs2/fs;
    %获取过渡带宽度
    bt = wp1-ws1;
    %求出窗函数窗宽
    N = ceil(6.6*pi/bt);M = N-1;
    %获得哈明窗
    wind = hamming(N);wind = wind';
    %求出截止频率
    wn = [(wp1+ws1)/2/pi,(wp2+ws2)/2/pi];
    %设计FIR滤波器
    a = fir1(M,wn,wind);
end

(3)系统代码

见链接:https://download.csdn.net/download/weixin_44410704/19426606

三、运行结果

(1)Workspace

MATLAB 三路频分复用通信系统
MATLAB 三路频分复用通信系统
MATLAB 三路频分复用通信系统

(2)各幅度谱及时域波形图

(1)原始信号的时域波形图和幅度谱


(1)原始信号的时域波形图和幅度谱

(2)audio3未加入高斯白噪声时的频谱图


(2)audio3未加入高斯白噪声时的频谱图

(3)audio3加入高斯白噪声时的频谱图


(3)audio3加入高斯白噪声时的频谱图

(4)三路信号频谱搬移后的幅度谱


(4)三路信号频谱搬移后的幅度谱

(5)复用信号幅度谱


(5)复用信号幅度谱

(6)第一路带通滤波器的幅度谱


(6)第一路带通滤波器的幅度谱

(7)第二路带通滤波器的幅度谱


(7)第二路带通滤波器的幅度谱

(8)第三路带通滤波器的幅度谱


(8)第三路带通滤波器的幅度谱

(9)第一路已调信号的幅度谱


(9)第一路已调信号的幅度谱

(10)第二路已调信号的幅度谱


(10)第二路已调信号的幅度谱

(11)第三路已调信号的幅度谱


(11)第三路已调信号的幅度谱

(12)三路信号解调后的幅度谱


(12)三路信号解调后的幅度谱

(13)低通滤波器的幅度谱


(13)低通滤波器的幅度谱

(14)恢复信号的时域波形图和幅度谱


(14)恢复信号的时域波形图和幅度谱

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/14672.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信