📄 dsb.m
字号:
fs=10000
t=-2:1/fs:2;
figure(1)
set(1,'Position',[10,450,300,200])
%设定窗口位置及大小
figure(2)
set(2,'Position',[350,450,300,200])
%设定窗口位置及大小
figure(3)
set(3,'Position',[700,450,300,200])
%设定窗口位置及大小
figure(4)
set(4,'Position',[10,50,300,200])
%设定窗口位置及大小
figure(5)
set(5,'Position',[350,50,300,200])
%设定窗口位置及大小
figure(6)
set(6,'Position',[700,50,300,200])
%设定窗口位置及大小
figure(7)
set(6,'Position',[350,200,300,200])
%设定窗口位置及大小
%将已知信号f(t)绘制出来
f=sinc(200*t);
figure(1)
plot(t,f);
xlim([-0.1,0.1]);%将横坐标限制在[-0.1,0.1]显示图象.
xlabel('时间t/s');%修饰图象.
ylabel('幅度');
title('已知信号f(t)→时域关系');
grid on;%启动图象网格显示.
%将已知信号f(t)频谱绘制出来
yk=fft(f,65536);%对信号f(t)做65536点的快速傅立叶变换.
yw=2*pi/40000*abs(fftshift(yk));%求频谱图的幅度值.fftshift的作用是将矩阵的左右调换,上下调换
%做n(n为偶数)点FFT不用FFTSHIFT时,第1点对应的模拟频率是零频,第2点是Fs/n,第n/2+1点是Fs/2,
%第n点是Fs(n-1)/n。用FFTSHIFT后,将Fs/2到Fs(n-1)/n的频点,也就是第n/2+1点到第n点搬移到第1到
%第n/2点,将第1点到第n/2点搬移到第n/2+1到第n点。所以原来的第1点(模拟频率是零频)搬移到第
%n/2+1点。n=8,就是第5点。以上所用都是MATLAB下标规则,从1开始。
fw=[-32767:32768]/65536*fs;%求频谱图的横坐标,根据这个公式fw=1/dt*(-N/2+1:N/2)/N求解得到.
figure(2)
plot(fw,yw);%画出信号f(t)的频谱图.
title('已知信号f(t)的频谱→频域关系');
xlabel('频率/Hz');
ylabel('幅度');
grid on;
xlim([-200,200]);%将横坐标限制在[-0.1,0.1]显示图象
%将已知载波信号绘制出来
yc=cos(2*pi*100*t);
figure(3)
plot(t,yc);
title('载波信号');
xlabel('时间:s');
ylabel('幅度');
grid on;
xlim([-0.03,0.03]);
%绘制已调信号
y4=sinc(t*200).*cos(2*pi*200*t);
figure(4)
plot(t,y4);
title('已调信号');
xlabel('时间:s');
ylabel('幅度');
grid on;
xlim([-0.05,0.05]);
%绘制已调信号的频谱图
yk=fft(y4,65536);%对已调信号y4做65536点的快速傅立叶变换.
yw=2*pi/40000*abs(fftshift(yk));%求频谱图的幅度值.
fw=[-32767:32768]/65536*fs;%求频谱图的横坐标,根据这个公式fw=1/dt*(-N/2+1:N/2)/N求解得到.
figure(5)
plot(fw,yw);
title('已调信号的频谱');
xlabel('频率:hz');
ylabel('幅度');
grid on;
xlim([-400,400]);
[c,lags]=xcorr(y4,200); %%DSB信号自相关函数
figure(6) %200表示自相关函数时间т
plot(lags/fs,c);
title('DSB信号自相关函数');
xlabel('t');
ylabel('Rxx(t)');
grid on;
y7=y4.*yc; %%解调信号
figure(7);
plot(t,y7);
title('解调信号');
xlabel('时间:s');
ylabel('幅度');
grid on;
xlim([-0.03,0.03]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -