Why while using sound function in matlab sound has noise in it?

3 views (last 30 days)
I have modulated and demodulated a sound file and i have bit error rate of zero. Then why output sound is distorted?
clear; clc;
M=2;
freq_sep=100;
nsamp=6;
sampling_frequency=1000;
[data,Fs]=wavread('Pakistan','native');
b=uint8(data);
data_bin=de2bi(b);
fsk_mod=fskmod(data_bin,M,freq_sep,nsamp,sampling_frequency);
noise=awgn(fsk_mod,25);
fsk_demod=fskdemod(noise,M,freq_sep,nsamp,sampling_frequency);
[num,rate]=biterr(data_bin,fsk_demod)
z=bi2de(fsk_demod);
sound(z,Fs)
  3 Comments
Mubasher
Mubasher on 16 May 2012
it gives this error
??? Error using ==> sound at 55
Audio data must be real and double-precision.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 15 May 2012
Possibly the original data was more than 8 bit. What does class(data) show ?
Also, you did not force de2bi() to use 8 bit output per sample.
Is fsk_demod definitely an array and not a vector?
  5 Comments
Walter Roberson
Walter Roberson on 16 May 2012
I'm not sure why you say there should be a click? There is nothing special about 0 -- it doesn't mean "turn off the speaker" for example.
Daniel Shub
Daniel Shub on 16 May 2012
The soundcard will attempt to produce one voltage for every sample with a value of 0 and another for voltage (its maximum voltage) for every sample with a value greater than 1. I am assuming the number of samples with a value of 0 is small. Periods where the soundcard output is pinned to the maximum will be perceived as silence. The transition from the maximum voltage to the voltage corresponding to the 0-valued samples will be perceived as a click.
maximum voltage with brief periods of significantly smaller voltages. The transition gion

Sign in to comment.

More Answers (0)

Categories

Find more on Multichannel Audio Input and Output in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!