⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fdm2.m

📁 基于matlab的时分复用和频分复用的方针
💻 M
字号:
clear;
FS=6e5;   %采样率
t=0:1/FS:0.5;  %采样时间
f1=1e5;f2=2e5;    %f1和f2分别为两路高频载波


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%下面画出两路语音信号的频谱图%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[x1 fs nbits]=wavread('g:\yuyin\TDM\shengyin1_0.wav');   %第一路语音信号
N=length(x1);        %采样点的点数
fx=fft(x1);          %对信号进行快速傅立叶变换
dfx=fs/N;            %频率分辨率,即频域图中两个点的最小间隔
n=0:N/2;             %由于对称性,所以只取采样点数的一半进行快速傅立叶变换
f=n*dfx;            %每个采样点所对应的频率值,也是频谱图的横坐标
figure(1);subplot(2,2,1);plot(f,abs(fx(n+1))*2/N);title('第一路信号');   %画出频谱图
xlabel('频率');
ylabel('幅度');

[x2 fs nbits]=wavread('g:\yuyin\TDM\shengyin1_1.wav');   %第二路语音信号
N=length(x2); 
fx=fft(x2);      
dfx=fs/N;
n=0:N/2;
f=n*dfx;
subplot(2,2,2);plot(f,abs(fx(n+1))*2/N);title('第二路信号');
xlabel('频率');
ylabel('幅度');

%%%%%%%%%%%%%%%%%%%%%%%%%%
%下面画出高频载波的频谱图%
%%%%%%%%%%%%%%%%%%%%%%%%%%
x11=sin(2*pi*f1*t);   %第一路高频载波
N=length(x11); 
fx=fft(x11);      
dfx=FS/N;
n=0:N/2;
f=n*dfx;
subplot(223);plot(f,abs(fx(n+1))*2/N);title('第一路高频载波');
xlabel('频率');
ylabel('幅度');

x22=sin(2*pi*f2*t);   %第二路高频载波
N=length(x22); 
fx=fft(x22);      
dfx=FS/N;
n=0:N/2;
f=n*dfx;
subplot(2,2,4);plot(f,abs(fx(n+1))*2/N);title('第二路高频载波');
xlabel('频率');
ylabel('幅度');

%%%%%%%%%%%%%%%%%%%%%%%%%%
%%以下为信道中传输的信号%%
%%%%%%%%%%%%%%%%%%%%%%%%%%
x=(x1(1:18000))'.*x11(1:18000)+(x2(1:18000))'.*x22(1:18000);       %将四路信号分别调到高频后合并,并进行快速傅立叶变换,画出频谱图
N=length(x); 
fx=fft(x);      
dfx=FS/N;
n=0:N/2;
f=n*dfx;
%subplot(3,3,5);plot(f,abs(fx(n+1)));title('信道中传输的信号');
figure(2);plot(f,abs(fx(n+1))*2/N);title('信道中传输的信号');
xlabel('频率');
ylabel('幅度');

%%%%%%%%%%%%%%%%%%%%%%%%%%
%%以下程序为接收端的解调%%
%%%%%%%%%%%%%%%%%%%%%%%%%%
Wp1=[0.6e5 1.4e5]/(FS/2);Ws1=[0.5e5 1.5e5]/(FS/2);   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Rp=1;Rs=15;                                          %%设计通带截止频率为0.6e5-1.4e5Hz,阻带截%%
[N1, Wn1] = BUTTORD(Wp1, Ws1, Rp, Rs);               %%止频率为0.5e5-1.5e5Hz,通带最大衰减为1db%%
[B1,A1] = butter(N1,Wn1,'bandpass');                 %%阻带最小衰减为15d b的巴特沃斯滤波器%%%%%%
Y1 = filter(B1,A1,x);                                %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
N=length(Y1);       %画出经过滤波器后的第一路高频载波
fx=fft(Y1);      
dfx=FS/N;
n=0:N/2;
f=n*dfx;
figure(3);subplot(2,2,1);plot(f,abs(fx(n+1))*2/N);title('滤波器滤出的第一路高频载波');
xlabel('频率');
ylabel('幅度');

Wp2=[1.6e5 2.4e5]/(FS/2);Ws2=[1.5e5 2.5e5]/(FS/2);   %以同样的方法设计第二个带通滤波器
[N2, Wn2] = BUTTORD(Wp2, Ws2, Rp, Rs);
[B2,A2] = butter(N2,Wn2,'bandpass');
Y2 = filter(B2,A2,x);

N=length(Y2);           %画出经过滤波器后的第二路高频载波
fx=fft(Y2);      
dfx=FS/N;
n=0:N/2;
f=n*dfx;
subplot(2,2,2);plot(f,abs(fx(n+1))*2/N);title('滤波器滤出的第二路高频载波');
ylabel('幅度');
xlabel('频率');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%对滤出的四路高频信号进行相干%
%解调,然后画出他们的频谱图形%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Y11=Y1.*x11(1:18000);                             %对第一路高频载波信号进行相干解调

Wp3=0.4e5/(FS/2);Ws3=0.5e5/(FS/2);        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[N3,Wn3]=BUTTORD(Wp3,Ws3,Rp,Rs);          %%设计通带截止频率为0.4e5Hz,阻带截止%%
[B3,A3] = butter(N3,Wn3,'low');           %%频率为0.5e5Hz的巴特沃斯低通滤波器%%%
X1=2*filter(B3,A3,Y11);                     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

N=length(X1);                            %画出经过低通滤波器后解调出的第一路信号
fx=fft(X1);      
dfx=FS/N;
n=0:N/2;
f=n*dfx;
subplot(2,2,3);plot(f,abs(fx(n+1))*2/N);title('经过低通后恢复的第一路语音信号');
xlabel('频率');
ylabel('幅度');

Y22=Y2.*x22(1:18000);                             %对第一路高频载波信号进行相干解调

X2=2*filter(B3,A3,Y22); 

N=length(X2);                            %画出经过低通滤波器后解调出的第一路信号
fx=fft(X2);      
dfx=FS/N;
n=0:N/2;
f=n*dfx;
subplot(2,2,4);plot(f,abs(fx(n+1))*2/N);title('经过低通后恢复的第二路语音信号');
xlabel('频率');
ylabel('幅度');


wavwrite(X1,fs,nbits,'g:\yuyin\FDM\shengyin2_0.wav');%生成解调后的语音文件
wavwrite(X2,fs,nbits,'g:\yuyin\FDM\shengyin2_1.wav');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -