码迷,mamicode.com
首页 > 其他好文 > 详细

通信原理实验(二):频率调制与解调&信号的插值与抽取

时间:2015-10-26 22:14:05      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:

1.产生FM信号并绘制频域波形

%% 产生FM信号并绘制时域波形
fm = 500; % 调制信号频率
Am = 0.5; % 调制信号幅度
fc = 5e3; % 载波频率
Ac = 1; % 载波幅度
kf = 10000*pi; % 调频灵敏度
fs = 75e3; % 采样率
N = 3000; % 样点总数
t = (0:N-1)/fs; % 时间t
m_t = Am*sin(2*pi*fm*t); % 调制信号
phi_t = kf*cumsum(m_t)/fs; % 相位积分
s_t = cos(2*pi*fc*t + phi_t); % 已调信号
plot(t, s_t , b); % 绘波形
xlabel(time);
xlim(auto);
ylabel(amplitude);
ylim(auto);

2.绘制频谱图

%% 绘制频谱图
L = length(s_t); % 取得序列长度 
u = fftshift(fft(s_t )); % 离散傅里叶变换,求频谱
w = (0:L-1)*fs/L - 1/2*fs; % 横坐标-频率
figure(2)
plot(w, abs(u)); % 绘制频谱图 
grid on; 
xlabel(frequency(Hz)); 
ylabel(magnitude(dB));

3.贝塞尔函数值

%% 贝塞尔函数值
b=500*N/fs;%计算频域上间隔500Hz对应的点数
c=1500+10*b+1;%计算fc在频域上对应的位置
for i=0:1:10
   a(i+1)=abs(u(c+b*i)/N*2);%计算fc+i*fm对应的频谱值
   bessel(i+1)=besselj(i,5);%计算对应的贝塞尔函数值,mf=5
end
a
bessel

4.FM信号非相干解调

%FM信号非相干解调
fc = 5e3; % 载波频率
fs = 100e3; % 采样率
N = length(s_t); % 样点数
[lpf_b,lpf_a] = butter(10, (fc/2)/(fs/2)); % 设计低通滤波器
t = (0:N-1)/fs; % 时间t
r_t = s_t;
r_d_t = [0;diff(r_t)]; % 求微分
r_e_t = abs(hilbert(r_d_t)); % 包络检波
demod_t = filter(lpf_b, lpf_a, r_e_t); % 滤波
plot(t, demod_t , b); % 绘图

5.解调调频立体声广播

%% 调频立体声广播解调 
clear all;clc;close all
load fm_cap.mat;  %载入FM信号
fc = 200e3; % 载波频率
fs = 2e6; % 采样率
r_t = fm_cap;
N = length(r_t); % 样点数
[lpf_b,lpf_a] = butter(10, (fc/2)/(fs/2)); % 设计低通滤波器
t = (0:N-1)/fs; % 时间t
%% 解调
r_d_t = [0;diff(r_t)]; % 求微分
r_e_t = abs(hilbert(r_d_t)); % 包络检波
demod_t = filter(lpf_b, lpf_a, r_e_t); % 滤波
plot(t, demod_t , b); % 绘图
%% 信号抽取,使声卡能够播放音频
demod_t2 = resample(demod_t,48e3,2e6);%按比例降低采样率
demod_t2=demod_t2/max(demod_t2);%归一化,限制音频幅度范围,否则无法播放
fs2=48e3;%新采样率
N2 = length(demod_t2); % 新样点数
t2 = (0:N2-1)/fs2; % 新时间t
plot(t2, demod_t2 , b); % 绘图
sound(demod_t2,fs2);%播放音频

 

通信原理实验(二):频率调制与解调&信号的插值与抽取

标签:

原文地址:http://www.cnblogs.com/pursuit1996/p/4912398.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!