首页 > 编程知识 正文

相干波分系统和非相干波分系统,非相干光电检测和相干光电检测

时间:2023-05-04 00:32:48 阅读:279317 作者:4652

Date: 2019.3.26

前言

回想一下大学时期学习的通信原理,还记得多少东西呢,额,调制解调,基带信号,调制信号,似乎没有多少了。。。。不用是硬伤啊。下面对调频信号FM的相干解调进行分析并实现,网上非相干解调的实现非常多,但是相干解调由于应用较少,实现也比较少。

1、参考

孤独的大白白噪声及Matlab常用实现方法

FM调制解调

【通信基础知识】白噪声、相关解调和相干解调

AM、FM、DSB、SSB、ISB信号及其频谱

对SSB信号的调制以及相干解调过程进行仿真

相干解调与非相干解调

2、相干解调与非相干解调

区别:相干解调表明本地的载波和发送载波同频同相,而非相干解调则不必关注发送载波是什么相位。

相干解调:

接收机接收到的信号为已调信号,该信号通过解调器再次与一个载波信号相乘。

解调后的信号包含一个低频信号 和一个高频成分,用一个低通滤波器把高频成分滤掉,就得到了要传递的基带信号。以上这个解调过程就是相干解调。

调频指数:

调频指数Mf是最大频偏Δfm与调制信号频率F的比值:

Mf=Δfm/F

窄带调频:

就是指Mf远小于1,即最大频偏远远小于调制信号频率的调频信号。

3、调制方式

(一) 模拟调制:用连续变化的信号去调制一个高频正弦波(载波信号)。

主要有:

幅度调制(调幅AM,双边带调制DSBSC,单边带调幅SSBSC,残留边带调制VSB以及独立边带ISB);

角度调制(调频FM,调相PM)两种。因为相位的变化率就是频率,所以调相波和调频波是密切相关的;

(二) 数字调制:用数字信号对正弦或余弦高频振荡进行调制。

主要有:

振幅键控ASK;

频率键控FSK;

相位键控PSK;

(三) 脉冲调制:用脉冲序列作为载波进行调制。

主要有:

脉冲幅度调制(PAM:Pulse Amplitude Modulation);

脉宽调制(PDM:Pulse Duration Modulation);

脉位调制(PPM:Pulse Position Modulation);

脉冲编码调制(PCM:Pulse Code Modulation) ;

4、相干解调Matlab代码实现(部分)

这里仅提供了相干解调的部分代码,需要完整代码可通过QQ(2963033731)联系我。

%生成FM信号

clc

clear all;

close all;

%%%%%%%%%%%%%%%%%%FM调制%%%%%%%%%%%%%%%%%%%%%

ps = 625000; % 数据率625KHz

Fs = 80*10^4; % 80M采样率

dt = 1/Fs; % 采样间隔

a = 1000;

t = 0:dt:(a*Fs/ps-1)/Fs; % 产生时间序列

N = length(t)-1;

am = 5; % 设定调制信号幅度

fm = 15*10^2; % 调制信号频率

fc = 5*10^6; % 载波频率5M

mt = am*sin(2*pi*fm*t); % 生成调制信号

ct = cos(2*pi*fc*t); % 生成载波信号

kf = 10000; % 调频系数 频偏75kHz

integral_mt(1)=0;

for i=1:N %积分

integral_mt(i+1)=integral_mt(i)+mt(i)*dt;

end

%figure(100);plot(t,integral_mt); title('integral_mt');

sfm= am*cos(2*pi*fc*t+2*pi*kf*integral_mt); %已调信号

%%%%%%%%%%%%画图%%%%%%%%%%%%

figure(1);

subplot(311);

plot(t,mt); title('调制信号时域');

%axis([0 10^(-3) -5 5]);

subplot(312);plot(t,ct); title('载波信号时域');

%axis([0 10^(-5) -1 2]);

subplot(313);plot(t,sfm);title('FM已调信号时域');

%axis([0 10^(-5) -5 5]);

实验效果图:

5、非相干解调Matlab代码实现(部分)

这里仅提供了非相干解调的部分代码,需要完整代码可通过QQ(2963033731)联系我。

%

% dt=0.001; %设定时间步长

% t=0:dt:1.5; %产生时间向量

% am=15; %设定调制信号幅度←可更改

% fm=15; %设定调制信号频率←可更改

% mt=am*cos(2*pi*fm*t); %生成调制信号

% fc=50; %设定载波频率←可更改

% ct=cos(2*pi*fc*t); %生成载波

% kf=10; %设定调频指数

% int_mt(1)=0; %对mt进行积分

% for i=1:length(t)-1

% int_mt(i+1)=int_mt(i)+mt(i)*dt;

% end

% sfm=am*cos(2*pi*fc*t+2*pi*kf*int_mt); %调制,产生已调信号

% plot(sfm)

echo off

close all

clear all

clc

%FM调制

dt=0.001; %设定时间步长

t=0:dt:1.5; %产生时间向量

am=5; %设定调制信号幅度

fm=5; %设定调制信号频率

mt=am*cos(2*pi*fm*t); %生成调制信号

fc=50; %设定载波频率

ct=cos(2*pi*fc*t); %生成载波

kf=10; %设定调频指数

int_mt(1)=0;

for i=1:length(t)-1

int_mt(i+1)=int_mt(i)+mt(i)*dt; %求信号m(t)的积分

end %调制,产生已调信号

sfm=am*cos(2*pi*fc*t+2*pi*kf*int_mt); %调制信号

%添加孤独的大白白噪声

sn1=10; %设定信躁比(小信噪比)

sn2=30; %设定信躁比(大信噪比)

sn=0; %设定信躁比(无信噪比)

db=am^2/(2*(10^(sn/10))); %计算对应的孤独的大白白躁声的方差

n=sqrt(db)*randn(size(t)); %生成孤独的大白白躁声

nsfm=n+sfm; %生成含孤独的大白白躁声的已调信号(信号通

%过信道传输)

%FM解调

for i=1:length(t)-1 %接受信号通过微分器处理

diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;

end

diff_nsfmn = abs(hilbert(diff_nsfm)); %hilbert变换,求绝对值得到瞬时%幅度(包络检波)

zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;

diff_nsfmn1=diff_nsfmn-zero;

%时域到频域转换

ts=0.001; %抽样间隔

fs=1/ts; %抽样频率

df=0.25; %所需的频率分辨率,用在求傅里叶变换

%时,它表示FFT的最小频率间隔

%对调制信号m(t)求傅里叶变换

m=am*cos(2*pi*fm*t); %原调信号

fs=1/ts;

if nargin==2

n1=0;

else

n1=fs/df;

end

n2=length(m);

n=2^(max(nextpow2(n1),nextpow2(n2)));

M=fft(m,n);

m=[m,zeros(1,n-n2)];

df1=fs/n; %以上程序是对调制后的信号u求傅里变换

M=M/fs; %缩放,便于在频铺图上整体观察

f=[0:df1:df1*(length(m)-1)]-fs/2; %时间向量对应的频率向量

实验效果图:

THE END!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。