%相位调制
clear
echo on
t0=0.25; %抽样持续时间
tz=0.0005; %抽样周期
fc=200; %载波频率
kf=50;
fz=1/tz; %抽样频率
t=[0:tz:t0]; %抽样序列
df=0.25;
%定义序号序列
m=zeros(1,501);
for i=1:1:125 %前125个点值为对应标号
m(i)=i;
end
for i=126:1:375 %最后125点值又用另一条直线方程
m(i)=m(125)-i+125;
end
for i=376:1:501
m(i)=m(375)+i-375;
end
m=m/50; %将信号值 幅度变至要求
[M,m,df1]=fftseq(m,tz,df);
M=M/fz;
f=[0:df1:df1*(length(m)-1)]-fz/2;
for i=1:length(t) %便于进行相位调制和作图
mn(i)=m(i);
end
u=cos(2*pi*fc*t+mn); %相位调制
[U,u,df1]=fftseq(u,tz,df);%付里叶变换
U=U/fz; %频率压缩
subplot(4,1,1)
plot(t,m(1:length(t)))
axis([0 0.25 -3 3]); xlabel('时间')
title('信号波形');
subplot(4,1,2)
plot(t,u(1:length(t)))
axis([0 0.15 -2.1 2.1]); xlabel('时间')
title('调制信号的时域波形');
subplot(4,1,3)
plot(f,abs(fftshift(M)))
xlabel('频率'); title('信号频谱')
subplot(4,1,4)
plot(f,abs(fftshift(U)))
title('调相信号的频谱'); xlabel('频率')
%低通抽样定理lowpsample.m
clear
t0=10; %定义时间长度
ts=0.001; %抽样周期
ts1=0.01; %欠抽样周期
ts2=0.005 %正确抽样周期
fs=1/ts; fs1=1/ts1; fs2=1/ts2;
df=0.5 %定义频率分辩力
t=[-t0/2:ts:t0/2]; %定义时间序列
%定义抽样函数的平方,即信号序列
x=sin(200*t); m=x./(200*t);
w=t0/(2*ts)+1; %确定t=0的点
m(w)=1; %令t=0点的信号值为1
m=m.*m; m=50.*m;
[M,mn,dfy]=fftseq(m,ts,df);
M=M/fs;
f=[0: dfy: dfy*length(mn)-dfy]-fs/2; %定义频率序列
%pause;
subplot(2,1,1); plot(t,m);
xlabel('时间'); title('原信号的波形')
axis([-0.15, 0.15, -1, 50]); subplot(2,1,2)
plot(f,abs(fftshift(M))) %作出原信号频谱
xlabel('频率'); axis([-500,500,0,1]);
title('原信号的频谱fh约为64HZ')
%***********以上为被抽样信号
t0=10; %定义时间长度
ts=0.001; %抽样周期
ts1=0.01; %欠抽样周期
ts2=0.005 %正确抽样周期
fs=1/ts; fs1=1/ts1; fs2=1/ts2;
df=0.5 %定义频率分辩力
%以下为抽样频率f1<2fH的欠抽样
t1=[-t0/2:ts1:t0/2]; %定义抽样时间序列
x1=sin(200*t1); %计算对应抽样序列的信号序列
m1=x1./(200*t1); %计算函数序列
w1=t0/(2*ts1)+1; %由于除0产生错误值,计算该值的标号
m1(w1)=1; %将错误值修正
m1=m1.*m1; m1=50.*m1;
[M1,mn1,df1]=fftseq(m1,ts1,df); %对抽样序列进行付里叶变换
M1=M1/fs1;
N1=[M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1];
f1=[-7*df1*length(mn1):df1:6*df1*length(mn1)-df1]-fs1/2;
%pause;
subplot(2,1,1); stem(t1,m1);
xlabel('时间'); title('抽样不足信号的波形')
axis([-0.15,0.15,-1,50]);; subplot(2,1,2)
plot(f1,abs(fftshift(N1)))
title('抽样率不足的信号频谱 fs=100HZ<2fh')
axis([-500,500,0,1]); xlabel('频率')
t0=10; %定义时间长度
ts=0.001; %抽样周期
ts1=0.01; %欠抽样周期
ts2=0.005 %正确抽样周期
fs=1/ts; fs1=1/ts1; fs2=1/ts2;
df=0.5 %定义频率分辩力
%以下成功的抽样,并通过低通滤波器来恢复信号的频谱
t2=[-t0/2:ts2:t0/2]; %定义抽样时间序列
x2=sin(200*t2); %计算对应时间序列的信号序列
m2=x2./(200*t2); %计算Sinc函数序列
w2=t0/(2*ts2)+1; %计算除0产生的错误点
m2(w2)=1; %修正该错误值
m2=m2.*m2; m2=50.*m2;
[M2,mn2,df2]=fftseq(m2,ts2,df); %对抽样序列进行付里叶变换
M2=M2/fs2;
N2=[M2,M2,M2,M2,M2,M2,M2,M2,M2,M2,M2,M2,M2];
f2=[-7*df2*length(mn2):df2:6*df2*length(mn2)-df2]-fs2/2;
%pause;
subplot(2,1,1); stem(t2,m2);
xlabel('时间'); title('抽样满足信号的波形')
axis([-0.15,0.15,-1,50]);; subplot(2,1,2)
plot(f2,abs(fftshift(N2)))
title('达到抽样最低频率抽样信号频谱 fs=200HZ>2fh')
axis([-500,500,0,1]); xlabel('频率')
%带通抽样定理bandpsample.m
clear
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>