标签:src 变换 子函数 matlab color 完整 roc UNC 函数
相位调制,或称调相:载波的相位对其参考相位的偏离值随调制信号的瞬时值成比例变化的调制方式相。
调相和调频有密切的关系。调相时,同时有调频伴随发生;调频时,也同时有调相伴随发生,不过两者的变化规律不同。
实际使用时很少采用调相制,它主要是用来作为得到调频的一种方法。
%主程序
t0=1; %信号的持续时间,用来定义时间向量
ts=0.001; %抽样间隔
fs=1/ts; %抽样频率
fc=100; %载波频率,fc可以任意改变
t=[-t0/2:ts:t0/2]; %时间向量
kf=100; %偏差常数
df=0.25;
%所需的频率分辨率,用在求傅里叶变换时,它表示FFT的最小频率间隔
m=cos(pi*10*t); %调制信号,m(t)可以任意更改
int_m(1)=0; %求信号m(t)的积分
for i=1:length(t)-1
int_m(i+1)=int_m(i)+m(i)*ts;
end
[M,m,df1]=fftseq(m,ts,df); %对调制信号m(t)求傅里叶变换
M=M/fs; %缩放,便于在频谱图上整体观察
f=[0:df1:df1*(length(m)-1)]-fs/2; %时间向量对应的频率向量
u=cos(2*pi*fc*t+2*pi*kf*int_m); %调制后的信号
[U,u,df1]=fftseq(u,ts,df); %对调制后的信号u求傅里叶变换
U=U/fs; %缩放
%通过调用子程序env_phas和loweq来实现解调功能
[v,phase]=env_phas(u,ts,fc); %解调,求出u的相位
phi=unwrap(phase); %校正相位角,使相位在整体上连续,便于后面对该相位角求导dem=(1/(2*pi*kf))*(diff(phi)*fs); %对校正后的相位求导 %再经一些线性变换来恢复原调制信号 %乘以fs是为了恢复原信号,因为前面使用了缩放
subplot(2,2,1) %子图形式显示结果
%求信号相角的子函数,这是调频、调相都要用到的方法
function [v,phi]=env_phas(x,ts,f0)
if nargout==2 %nargout为输出变数的个数
z=loweq(x,ts,f0); %产生调制信号的正交分量
phi=angle(z); %angle是对一个复数求相角的函数
end
v=abs(hilbert(x)); %abs用来求复数hilbert(x)的模
版本:2014a
完整代码或代写加1564658423
【模拟信号】基于matlab调相信号产生+解调【含Matlab源码 987期】
标签:src 变换 子函数 matlab color 完整 roc UNC 函数
原文地址:https://www.cnblogs.com/homeofmatlab/p/14902714.html