⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch5example9prog1.m

📁 通信程序源代码和模型通信程序源代码和模型通信程序源代码和模型
💻 M
字号:
% ch5example9prog1.m
[wav,fs]=wavread('GDGvoice8000.wav');
t_end=1/fs *length(wav);  % 计算声音的时间长度
Fs=50000;                 % 仿真系统采样率
t=1/Fs:1/Fs:t_end;        % 仿真系统采样时间点
% 设计300Hz~3400Hz的带通预滤波器H(z) 
[fenzi,fenmu]=butter(3,[300 3400]/(fs/2));
% 对音频信号进行预滤波 
wav=filter(fenzi,fenmu,wav);
% 利用插值函数将音频信号的采样率提升为Fs=50KHz 
wav=interp1([1/fs:1/fs:t_end],wav,t,'spline');
wav_hilbert=imag(hilbert(wav)); % 音频信号的希尔伯特变换
fc=10000;                       % 载波频率Hz
SSB_OUT=wav.*cos(2*pi*fc*t)-wav_hilbert.*sin(2*pi*fc*t); % 单边带调制 
figure(1);                      % 观察调制前后频谱 
subplot(2,2,1); plot(wav(53550:53750));     axis([0 200 -0.3 0.3]);
subplot(2,2,2); psd(wav, 10000, Fs);        axis([0 25000 -20 10]);
subplot(2,2,3); plot(SSB_OUT(53550:53750)); axis([0 200 -0.3 0.3]);
subplot(2,2,4); psd(SSB_OUT, 10000, Fs);    axis([0 25000 -20 10]);
wavwrite(0.5*SSB_OUT,Fs,'SSB_OUT.wav');      % 将SSB调制输出存盘备用 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -