subplot(313); plot(t,sam); hold on; %画出AM信号波形 plot(t,mt,'r--'); title('DSB调幅信号'); axis([0 4 -1.5 1.5]); line([0,4],[0,0],'color','k'); %相干解调 figure(2); subplot(211); st=sam.*cos(wc*t); plot(t,mt); title('原始基带信号波形'); axis([0 4 -1.5 1.5]); line([0,4],[0,0],'color','k');
时间: 2023-06-19 12:10:06 浏览: 110
这段代码是在Matlab中画出DSB调幅信号的波形和相干解调后的波形。其中,subplot(313)是将画布分成了三行一列,当前正在画第三行的图;plot(t,sam)绘制AM信号波形;plot(t,mt,'r--')绘制原始基带信号的波形,r--表示使用红色虚线绘制;title('DSB调幅信号')给图像加上标题;axis([0 4 -1.5 1.5])设置坐标轴范围;line([0,4],[0,0],'color','k')绘制横坐标为0到4,纵坐标为0的一条黑色直线。
subplot(211)是将画布分成了两行一列,当前正在画第一行的图;st=sam.*cos(wc*t)是相干解调的过程,将AM信号与载波信号相乘得到解调后的信号st;plot(t,mt)绘制原始基带信号的波形;title('原始基带信号波形')给图像加上标题;axis([0 4 -1.5 1.5])设置坐标轴范围;line([0,4],[0,0],'color','k')绘制横坐标为0到4,纵坐标为0的一条黑色直线。
相关问题
已知两信号f1(t)=ε(t-1)-ε(t-2), f2(t)=ε(t-2)-ε(t-3),求卷积g(t)=f1(t)*f2(t)。 MATLAB程序如下: t1=1:0.01:2;t2-2:0.01:3; t3=3:0.01:5; %两信号卷积结果自变量t区间应为:[两信号起始时刻之%和~两信号终止时 刻之和]请自行推导该结论 fl=ones(size(t1)); %高度为一的门函数,时间从t=1到t=2 f2=ones(size(t2)); %高度为一的门函数,时间从t=2到t=3 g=conv(f1,f2); %对f1和f2进行卷积 subplot(3,1,1),plot(t1,f1); %画f1的波形 subplot(3,1,2), plot(t2, f2); %画 f2的波形 subplot(3,1,3),plot(t3,g); % grid on;画g的波形
As an AI language model, I do not have any feelings or emotions, therefore the concept of null doesn't apply to me like it would to a human. However, null can refer to a value that represents no value or absence of a value in programming or database systems.
将以下代码改为python代码:改为python代码% 幅度调制与解调 w1=5;w0=50;K=0;km=1; kc=1; N=1000; win=4pi/w1; lp=2w1+80; t=linspace(0,win,N); dt=win/N; m=kmsin(w1t); %调制信号 c=kccos(w0t); %载波信号 p=K+m; %调制信号偏置 y=p.c; %已调制信号 m0=y.c; %解调信号 w=linspace(-3w0,3w0,N); %频率序列 M=mexp(-jt'w)dt; %傅里叶变换 C=cexp(-jt'w)dt; Y=yexp(-jt'w)dt; M0=m0exp(-jt'w)dt; LPF=[zeros(1,(N-2lp)/2-1),2ones(1,2lp+1),zeros(1,(N-2lp)/2)]; %低通滤波器振幅谱 M1=M0.LPF; %低通滤波器滤波 dw=2w0/N; m1=M1exp(jw't)/pidw; %傅里反叶变换 magM=abs(M); %振幅谱 magC=abs(C); magY=abs(Y); magM0=abs(M0); magM1=abs(M1); figure; subplot(5,2,1);plot(t,m); %调制信号波形 axis([0,win,-1.1,+1.1]); subplot(5,2,2);plot(w,magM); %调制信号振幅谱 subplot(5,2,3);plot(t,c); %载波信号波形 axis([0,win,-1.1,+1.1]); subplot(5,2,4);plot(w,magC); %载波信号振幅谱 subplot(5,2,5);plot(t,y); %已调制信号波形 axis([0,win,-1.1,+1.1]); subplot(5,2,6);plot(w,magY); %已调制信号振幅谱 subplot(5,2,7);plot(t,m0); %解调信号波形 axis([0,win,-1.1,+1.1]); subplot(5,2,8);plot(w,magM0); %解调信号振幅谱 subplot(5,2,9);plot(t,m1); %低通滤波后信号波形 axis([0,win,-1.1,+1.1]); subplot(5,2,10);plot(w,magM1); %低通滤波后信号振幅谱
# 改为Python代码
import numpy as np
import matplotlib.pyplot as plt
w1 = 5
w0 = 50
K = 0
km = 1
kc = 1
N = 1000
win = 4 * np.pi / w1
lp = 2 * w1 + 80
t = np.linspace(0, win, N)
dt = win / N
m = km * np.sin(w1 * t) # 调制信号
c = kc * np.cos(w0 * t) # 载波信号
p = K + m # 调制信号偏置
y = p * c # 已调制信号
m0 = y / c # 解调信号
w = np.linspace(-3 * w0, 3 * w0, N) # 频率序列
M = np.exp(-1j * np.outer(t, w)) * dt # 傅里叶变换
C = np.exp(-1j * np.outer(t, w)) * dt # 傅里叶变换
Y = np.exp(-1j * np.outer(t, w)) * dt # 傅里叶变换
M0 = np.exp(-1j * np.outer(t, w)) * dt # 傅里叶变换
LPF = np.concatenate((np.zeros((N - 2 * lp) // 2 - 1), 2 * np.ones(2 * lp + 1), np.zeros((N - 2 * lp) // 2))) # 低通滤波器振幅谱
M1 = M0 * LPF # 低通滤波器滤波
dw = 2 * w0 / N
m1 = np.sum(M1 * np.exp(1j * np.outer(w, t)), axis=1) / np.pi / dw # 傅里反叶变换
magM = np.abs(M) # 振幅谱
magC = np.abs(C) # 振幅谱
magY = np.abs(Y) # 振幅谱
magM0 = np.abs(M0) # 振幅谱
magM1 = np.abs(M1) # 振幅谱
# 绘图
fig, axs = plt.subplots(nrows=5, ncols=2, figsize=(10, 20))
axs[0, 0].plot(t, m)
axs[0, 0].set_ylim(-1.1, 1.1)
axs[0, 0].set_title('调制信号波形')
axs[0, 1].plot(w, magM)
axs[0, 1].set_title('调制信号振幅谱')
axs[1, 0].plot(t, c)
axs[1, 0].set_ylim(-1.1, 1.1)
axs[1, 0].set_title('载波信号波形')
axs[1, 1].plot(w, magC)
axs[1, 1].set_title('载波信号振幅谱')
axs[2, 0].plot(t, y)
axs[2, 0].set_ylim(-1.1, 1.1)
axs[2, 0].set_title('已调制信号波形')
axs[2, 1].plot(w, magY)
axs[2, 1].set_title('已调制信号振幅谱')
axs[3, 0].plot(t, m0)
axs[3, 0].set_ylim(-1.1, 1.1)
axs[3, 0].set_title('解调信号波形')
axs[3, 1].plot(w, magM0)
axs[3, 1].set_title('解调信号振幅谱')
axs[4, 0].plot(t, m1)
axs[4, 0].set_ylim(-1.1, 1.1)
axs[4, 0].set_title('低通滤波后信号波形')
axs[4, 1].plot(w, magM1)
axs[4, 1].set_title('低通滤波后信号振幅谱')
plt.show()
阅读全文