接上一节https://blog.csdn.net/pxy198831/article/details/87017571
TMS320C5509A 控制DDS AD9854芯片进行AM幅度调制
话音调制一般都有噪声抑制功能,而典型的噪声抑制即幅度控制,
因为一般有用信号都比噪声强,由于AD之前有放大,当检测到的幅度小于一定值时,
关闭输出,这点在硬件电路中有类似的应用。
看上节的程序
if(Index>=200)
{
Index = 0;
}
if (audio_DDS[Index++] > 1000)
{
if (noise_flag<200)
{
noise_flag++;
}
}
else
{
noise_flag = 0;
}
设置阈值为200,即连续采样200次的AD值,其绝对值都小于1000
(不取绝对值,仅判断正值也行,1000和200这两个门限根据实际情况可调),
是认为是噪声,关闭幅度调制,即AD9854输出满幅值载波。
if (noise_flag != 200)
{
AD9854_WR_Byte(OSK_I1_ADDRESS,AM_H); //设置I通道幅度
AD9854_WR_Byte(OSK_I2_ADDRESS,AM_L);
}
else
{
AD9854_WR_Byte(OSK_I1_ADDRESS,0xff); //设置I通道幅度
AD9854_WR_Byte(OSK_I2_ADDRESS,0xff);
}
满幅值就没有调制了,幅值随着AD采样到的数据进行变化,就会有AM调制。