1信号的基本概念
信号是表示消息的物理量,如电信号可以通过幅度、频率、相位的变化来表示不同的消息。这种电信号有模拟信号和数字信号两类。
信号是运载消息的工具,是消息的载体。从广义上讲,它包含光信号、声信号和电信号等。按照实际用途区分,信号包括电视信号、广播信号、雷达信号,通信信号等;按照所具有的时间特性区分,则有确定性信号和随机性信号等。
模拟信号是指信号波形模拟着信息的变化而变化,其主要特征是幅度是连续的,可取无限多个值;而在时间上则可连续,也可不连续。
数字信号是指不仅在时间上是离散的,而且在幅度上也是离散的,只能取有限个数值的信号。如电报信号,脉冲编码调制(PCM,Pulse Code Modulation)信号等都属于数字信号。二进制信号就是一种数字信号,它是由“1”和“0”这两位数字的不同的组合来表示不同的信息。
2 matlab产生sin波
使用matlab产生采样率为44.1khz的1khz的sin波,并量化为32bit写成txt文档(用于FPGA数字信号处理仿真源)。
clc
clearall
closeall
%set system parameter
fs = 1000; %The frequency of the local oscillator signal
Fs = 44100; %sampling frequency
L = 226760; %The length of the data 1s =22676
N = 32; %Quantitative bits
%Generating an input signal
t =0:1/Fs:(1/Fs)*(L-1); %Generating the time series of sampling frequencies
sc =sin(2*pi*fs*t); %a sinusoidal input signal that produces a random starting phase
sc_32bit =round(sc*(2^(N-1)-1));%32bit Quantification
sc_nor =sc_32bit/max(abs(sc_32bit));
sound(sc_32bit,Fs);
audiowrite('sin_1khz.wav',sc_32bit,Fs);
fid = fopen('sin.txt','w');
fork= 1:1024
fprintf(fid,'%d ',sc_32bit(k));
end
fclose(fid);
figure,
subplot(221);plot(t(1:1024),sc(1:1024));
xlabel('时间(s)','fontsize',8); ylabel('幅度(v)','fontsize',8);
title('sc','fontsize',8);
subplot(222);plot(t(1:1024),sc_32bit(1:1024));
xlabel('时间(s)','fontsize',8); ylabel('幅度(v)','fontsize',8);
title('sc_32bit','fontsize',8);
subplot(223);plot(t(1:1024),sc_nor(1:1024));
xlabel('时间(s)','fontsize',8); ylabel('幅度(v)','fontsize',8);
title('sc_nor','fontsize',8);
如上图所示,①为量化32bit后生成的txt正玄波数据,用于FPGA数字信号处理仿真源文件。②为生成的音频文件,大家可以使用播放器播放试听。普通人人耳能听到的声音频率范围为20HZ-20KHZ大家可以产生不同频率的声音试听,也可以产生方波或者三角波。
审核编辑:刘清
-
FPGA
+关注
关注
1624文章
21608浏览量
601089 -
模拟信号
+关注
关注
8文章
1108浏览量
52332 -
数字信号
+关注
关注
2文章
941浏览量
47490
原文标题:信号的产生
文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论