Issue on using MC9S08JM60SD ADC for Voice Record

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Issue on using MC9S08JM60SD ADC for Voice Record

1,763 Views
xiujiang
Contributor II

Hi All,

 

I am facing problem for recording my original voice into JM60 SD card.

 

Currently i am using JM60 ADC at 128us(7.8khz) to sampling 8bit data into my SD card as wav file. But when i playback the voice file, i found the recorded voice is different with my original voice which become more weightily.

 

I have attached my original voice, recorder voice, and filtering circuit before the voice data into the JM60 ADC. 

 

Anyone can advice me on the above issue?Is there any wrong on the filtering circuit?

 

Thanks!

Labels (1)
7 Replies

538 Views
hernantesorieri
Contributor I

Hi,

I'm trying to record audio too, and have a similar problem. I think the issue is with the input circuit.

Do you still have the schematics for the filtering circuit?

Regards

0 Kudos

538 Views
admin
Specialist II

For one thing, your original recording is 17 seconds in duration and the playback audio is 25 seconds, so it seems your data rate is different from record to playback. You can tell this just by listening.

 

Attached are the waveforms for your original and playback audio, for the first syllable in your speech (the partial word "test" from your first word "testing"). I'm not sure what to make of it, but the playback sure doesn't look much like the original. There are high frequency components that are not in the original, for one thing. And it doesn't look clipped but it sure sounds clipped.

 

Your filter... the effectiveness of that capacitor you have on the input will depend heavily on the output impedance of your audio source. It is probably not doing anything of value. I would expect to see a series capacitor at the connection to your audio source to block any DC component that may be present on the audio signal.

 

Perhaps what may be more important is the output filter from your digital to analog conversion rather than the input filter.

0 Kudos

538 Views
xiujiang
Contributor II

Hi Wingsy,

 

I was direct playback in PC. I have tried to put a  series capacitor at the connection to my audio source but the noise is almost cover my original voice. 

0 Kudos

538 Views
xiujiang
Contributor II

Hi,

 

I am able to record my voice and intelligent enough to recognize it by increase the ADC conversion time.

 

 

0 Kudos

538 Views
bigmac
Specialist III

Hello,

 

There are at least two potential causes of your distortion problems, quantization noise and distortion, and aliasing problems.  If you are generating the replay output using filtered PWM this may also present additional issues.

 

Since you have the voltage divider at the input of the ADC, you will need to have a series capacitor so that the zero signal bias remains at Vdd/2.  To prevent aliasing effects, especially with the low sample rate you are using, you will need a "substantial" analog input filter, so that voice frequencies of 3.9kHz and above are significantly attenuated, by maybe 30-40dB.  The voice signal may also need to be subject to some compression to limit dynamic range, and have as high a peak input level as possible into the ADC, without exceeding the limits Vss to Vdd.

 

The use of 8-bit resolution (effectively 7-bits plus sign) is causing significant quantization distortion, especially when the signal level is low.  With a linear ADC you will need at least 12-bit resolution.  This resolution would also be necessary for the DAC used for the replay process.

 

Note that telephony applications that do utilize 8-bit data format actually use a logarithmic conversion process to enhance dynamic range for low signal levels.

 

Regards,

Mac

0 Kudos

538 Views
xiujiang
Contributor II
Hi bigmac,
I am not playing back from my PWM output. I saved the raw ADC data format in .wav and play back from my PC. As for the compression range, I am able to contain it within the Vcc & Vss limit without exceeding it. Meantime, I will try to sample at 12bit and see if the result gets any better.
I have also tested with another circuit yesterday using a low pass filter at the input from the audio source  which i have attached below and i was able to record my voice which sound intellegent enough. However, with the similiar circuit after a few attempt, it seems to sound at the lower frequency. Both the recorded files attached are done using the biasing and filter circuit shown in circuit2.
Please adsvise.
Thanks.
Regards,
XJ

bigmac wrote:

Hello,

 

There are at least two potential causes of your distortion problems, quantization noise and distortion, and aliasing problems.  If you are generating the replay output using filtered PWM this may also present additional issues.

 

Since you have the voltage divider at the input of the ADC, you will need to have a series capacitor so that the zero signal bias remains at Vdd/2.  To prevent aliasing effects, especially with the low sample rate you are using, you will need a "substantial" analog input filter, so that voice frequencies of 3.9kHz and above are significantly attenuated, by maybe 30-40dB.  The voice signal may also need to be subject to some compression to limit dynamic range, and have as high a peak input level as possible into the ADC, without exceeding the limits Vss to Vdd.

 

The use of 8-bit resolution (effectively 7-bits plus sign) is causing significant quantization distortion, especially when the signal level is low.  With a linear ADC you will need at least 12-bit resolution.  This resolution would also be necessary for the DAC used for the replay process.

 

Note that telephony applications that do utilize 8-bit data format actually use a logarithmic conversion process to enhance dynamic range for low signal levels.

 

Regards,

Mac


 

 

0 Kudos

538 Views
rocco
Senior Contributor II

Hi Xiujiang,

 

Sounds to me like it could maybe be clipping?

 

mark

0 Kudos