资源简介
波形发生并生成十进制和二进制的TXT文件,源码有详细说明,可根据自己的需求生成自己的想要的单频信号或者混合信号,并且生成波形文件,可以是十进制也可以是二进制。非常方便。
代码片段和文件信息
%E4_8_NoiseAndCarrier.M
f4=100;
f1=300; %信号1频率为200Hz
f3=400;
f2=500; %信号2频率为800Hz
Fs=2000; %采样频率为2KHz
N=12; %量化位数
%Pn=Pn0*Fs/2; %噪声信号功率
%width=0.5; %函数SAWTOOTH()的尺度参数为0.5
%duty=50; %函数SQUQRE()的尺度参数为50
%产生信号
t=0:1/Fs:1;
c1=2*pi*f1*t;
c2=2*pi*f2*t;
c3=2*pi*f3*t;
c4=2*pi*f4*t;
%sq=square(cduty);%产生方波
%tr=sawtooth(cwidth);%产生三角波
s1=sin(c1);%产生正弦波
s2=sin(c2);%产生正弦波
s3=sin(c3);
s4=sin(c4);
s=s1+s2+s3+s4; %产生两个单载波合成后的信号
%产生随机序列信号
noise=randn(1length(t));%产生高斯白噪声序列
%归一化处理
noise=noise/max(abs(noise));
s=s/max(abs(s));
%12比特量化
Q_noise=round(noise*(2^(N-1)-1));
Q_s=round(s*(2^(N-1)-1));
%调用自已设计的滤波器函数对信号进行滤波
hn=E4_8_Fir8Serial;
Filter_noise=filter(hn1Q_noise);
Filter_s=filter(hn1Q_s);
%求信号的幅频响应
m_noise=20*log(abs(fft(Q_noise1024)))/log(10); m_noise=m_noise-max(m_noise);
m_s=20*log(abs(fft(Q_s1024)))/log(10); m_s=m_s-max(m_s);
%滤波后的幅频响应
Fm_noise=20*log(abs(fft(Filter_noise1024)))/log(10); Fm_noise=Fm_noise-max(Fm_noise);
Fm_s=20*log(abs(fft(Filter_s1024)))/log(10); Fm_s=Fm_s-max(Fm_s);
%滤波器本身的幅频响应
m_hn=20*log(abs(fft(hn1024)))/log(10); m_hn=m_hn-max(m_hn);
%设置幅频响应的横坐标单位为Hz
x_f=[0:(Fs/length(m_s)):Fs/2];
%只显示正频率部分的幅频响应
mf_noise=m_noise(1:length(x_f));
mf_s=m_s(1:length(x_f));
Fmf_noise=Fm_noise(1:length(x_f));
Fmf_s=Fm_s(1:length(x_f));
Fm_hn=m_hn(1:length(x_f));
%绘制幅频响应曲线
subplot(211)
plot(x_fmf_noise‘-.‘x_fFmf_noise
相关资源
-
基于Matlab_Simuli
nk的随机路面建模与 - 基于Matlab工具的遗传算法求解有约束
- EM算法matlab实现
- [网盘]卡尔曼滤波原理及应用MATLAB仿真
- 自适应滤波-matlab完整程序
- 雷达仿真界面实现基于matlab
- 信号的捕获(直接序列扩频系统的m
- 雷达目标识别问题的MATLAB代码
- EKF机器人定位-MATLAB.m
- Matlab信号平滑处理-五点滑动平均法
- BPSK扩频误码率曲线MATLAB仿真
- 各种体制雷达信号MATLAB仿真
- matlab编写信道容量
- matlab2009a破解版链接
- id3算法实现
- The DIPUM Toolbox Version 2 m文件
- matlab图像处理算法
- 盒维数MATLAB计算程序
- 用GUI设计神经网络-matlab
- pHog纹理识别 matlab程序
- 金融风险VaR模型研究\\蒙特卡罗算法与
- 免疫算法MATLAB程序
- 小波变换进行语音增强的matlab代码
- MATLAB 计算空间桁架
- 蜂群算法源程序
- 正弦波 方波 三角波 发生器 multisim
- 如何用matlab绘制电机效率map图或发动
- 滑动平均值求解Matlab程序).txt
- 在matlab下,验证码识别部分,字符分
- matlab实现神经网络的数字识别,有训
评论
共有 条评论