Reply by Tauno Voipio August 2, 20192019-08-02
On 2.8.19 00:38, gyansorova@gmail.com wrote:
> A client for unknown reasons wants to emit speech in teh frequency range above 20kHz. I was wondering what is the best way around this to do a frequency shift. Then presumably I would need a sound card on a PC with high sampling rate and ultrasonic amplifier and loudspeaker. (this can be bought). > > So I sample at say 44.1KHz as usual a section of speech and store to wav file. > Then I up the sample rate to say 88.2kHz. > > To frequency shift would I just (in MATLAB) band limit the signal (say 5kHz) and then multiply by a sine-wave of frequency 25kHz and then bandpass filter 20kHz to 25kHz. Then clock the speech out at 88.2kHz. Or is there a much easier way. Would this work or is there a simpler method. > > Thanks
If you want to shift all frequency components of the speech signal by a constant value (e.g. 20 kHz), you're attempting to create a SSB radio signal at the selected carrier frequency and on upper sideband. There is plenty of information of such an operation available, if you know how to find it. A good start would be googling for: - SSB signal generation, or - Image rejection mixing The way you described is in use in practice and called the filter method of SSB generation. -- -TV
Reply by August 1, 20192019-08-01
A client for unknown reasons wants to emit speech in teh frequency range above 20kHz. I was wondering what is the best way around this to do a frequency shift. Then presumably I would need a sound card on a PC with high sampling rate and ultrasonic amplifier and loudspeaker. (this can be bought).

So I sample at say 44.1KHz as usual a section of speech and store to wav file.
Then I up the sample rate to say 88.2kHz.

To frequency shift would I just (in MATLAB) band limit the signal (say 5kHz) and then multiply by a sine-wave of frequency  25kHz and then bandpass filter 20kHz to 25kHz. Then clock the speech out at  88.2kHz. Or is there a much easier way.  Would this work or is there a simpler method.

Thanks