我现在在做一个16*32单色点阵的音乐频谱,程序是移植32X64双色点阵的
移植后发现几个问题没搞懂(关于FFT和AD的)
这个是Ad采样的,16位的定时器,初值是3030H,就是计数2^16-12336=53200,晶振是32M的,定时器是12T模式,算一下12/32M X53200=0.02秒采样一次Ad,采样频率是50Hz。。。!!
!!!!我擦,写到这里才发现是用8位自动重载,也就是2^8-48=208个计数,12/32M X 208=78微秒,大概12.8KHZ的采样频率,还是差了点
然后说说我的,我是24M晶振,算下采样频率是10K,除以2可以显示5KHz的音频,32列的点阵,用singen这个软件可以产生正弦波,0—5000Hz,波形Ok(从第一列划到最后一列),但是5000Hz-10000Hz(根据采样定理按理是不显示的,但是却是从最后一列划到第一列),我知道Fft是对称的,但是我是64点的Fft,显示前32个,应该不会出现对称的情况啊??
这是为什么呢?
TMOD=0X12;
TH0=0x30; //大约20K的采样率(要完整频段需40K以上。但音频中10k以下居多,故本人选择20K采样,美观些)
TL0=0x30;
void Ad_Control() interrupt 1 //控制采样率
{
ADC_CONTR = ADC_POWER | ADC_SPEEDHH| ADC_START | channel; //开始AD采集
}
|