一、幅度调制,并画出时域和频域波形
1、代码如下:
function [ p_n ] = AM_func( N,fs,fm,Am,fc,Ac,Ma ) %UNTITLED 此处显示有关此函数的摘要 % 此处显示详细说明 % N = 3000; % 长度 % fs = 48e3; % 采样率 % fm = 300; % 调制信号频率 % Am = 0.5; % 调制信号幅度 % fc = 8e3; % 载波频率 % Ac = 1; % 载波幅度 % A0 %直流分量 A0 = Am / Ma; %% %时域波形,第一小题 t = (0:N-1)'/fs; % 时间t m_t = Am*sin(2*pi*fm*t); % 产生调制信号 c_t = Ac*cos(2*pi*fc*t); % 产生载波信号 s_t = (m_t + A0) .* c_t; % 调制 figure() subplot(1,3,1); plot(t, s_t , 'b'); % 绘波形 xlabel('time'); ylabel('amplitude'); title('时域波形'); %% %绘制功率谱,第二小题 L = length(s_t); % 取得序列长度 u = fftshift(fft(s_t )); % 离散傅里叶变换,求频谱 u_pow = pow2db(abs(u).^2); % 幅度转为dB w = (0:L-1)'*fs/L - 1/2*fs; % 横坐标-频率 subplot(1,3,2); plot(w, u_pow); grid on; xlabel('frequency(Hz)'); ylabel('magnitude(dB)'); title('功率谱&