Anyone can please help me with my matlab program to quatize x(t)

quatize x(t) using 4 bits to obtain and plot the quantized signal xq, assuming the signal range is between -5 and 5 volts
the error: 'biquant' undefined near line 11 column 20, but i don't know how to solve it
clear all; close all
disp("Generate 0.02-second sine wave of 100 Hz and Vp=5");
fs = 8000; % Sampling rate
T = 1/fs; % Sampling interval
t = 0:T:0.02; % Duration of 0.02 second
sig = 4.5*sin(2*pi*100*t); % Generate sinusoids
bits = input("input number of bits =>");
lg = length(sig); % Length of signal vector sig
for x = 1:lg
[Index(x), pq] = biquant(bits, -5,5, sig(x)); % Output quantized index
end
% transmitted
% received
for x=1:lg
qsig(x) = biqtdec(bits, -5,5, Index(x)); % Recover the quantized value
end
qerr = qsig-sig; % Calculate quantized error
stairs(t,qsig); hold % Plot signal in staircase style
plot(t,sig); grid; % Plot signal
xlabel("Time (sec.)"); ylabel("Quantized x(n)")
disp("Signal to noise ratio due to quantization noise")
snr(sig,qsig);

 Accepted Answer

biquant and biqtdec are not built-in MATLAB functions. You need to download them from here:
and
and place it in the current folder and try to run the code again.

6 Comments

Thanks Ameer Hamza, thank you so much for helping me. And what about the SNR, i can't use that. do you know the problem?
@Alvin, snr function is provided by MATLAB with Signal Processing toolbox, You can check if you have it by typing this in command window
ver signal
when we run the program the command place enter the n bits when we enter bits then error occur biquant bits plzz suggest

Sign in to comment.

More Answers (2)

le lien que vouz avez donner ne fonctionne pas (pour telecharger fonction bitquant)
clear all; close all
disp('Generate 0.02-second sine wave of 100 Hz and Vp=5');
Generate 0.02-second sine wave of 100 Hz and Vp=5
fs=8000; % Sampling rate
T=1/fs; % Sampling interval
t=0:T:0.02; % Duration of 0.02 second
sig = 4.5*sin(2*pi*100*t); % Generate sinusoids
bits = input('input number of bits =>');
Unable to run the 'fevalJSON' function because it calls the 'input' function, which is not supported for this product offering.
lg = length(sig); % Length of signal vector sig
for x=1:lg
[sig(x) pq] = biquant(bits, -5.5, sig(x)); % Output quantized index
end
% transmitted
% received
for x=1:lg
qsig(x) = biqtdec(bits, -5,5, Index(x)); % Recover the quantized value
end
qerr = qsig-sig; % Calculate quantized error
stairs(t,qsig); hold % Plot signal in staircase style
plot(t,sig); grid; % Plot signal
xlabel('Time (sec.)'); ylabel('Quantized x(n)')
disp('Signal to noise ratio due to quantization noise')
snr(sig,qsig);

Categories

Find more on Signal Processing Toolbox in Help Center and File Exchange

Asked:

on 1 Apr 2020

Answered:

on 30 Nov 2022

Community Treasure Hunt

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

Start Hunting!