Azzera filtri
Azzera filtri

I have this error, and I don't know how to solve it.Can someone help me please?

5 visualizzazioni (ultimi 30 giorni)
Error in p5_6_Simulate_Ceiling_Bounce_Model_and_Eye_Diagram (line 32)
channel_output = conv(Tx_signal,h,'same');
  5 Commenti
M
M il 28 Ago 2018
Modificato: M il 28 Ago 2018
What are Tx_signal and h ? The error message says they must be vectors.
Alexandra Diaconu
Alexandra Diaconu il 28 Ago 2018
Tx is a signal generator. the entire code is:
Rb=200e6;
% Bit rate
Tb=1/Rb;
% bit duration
sig_length = 1e3;
% number of bits
nsamp = 10;
% samples per symbols
Tsamp = Tb/nsamp;
% sampling time
%%*****Channel Impulse response (using Ceiling bounce model)*************
Dt = 0.5;
% Normalized delay spread
Drms = Dt*Tb;
%RMS delay spread
a = 12*sqrt(11/13)*Drms;
K = 30*nsamp;
% number of channel taps
k = 0:K;
h = ((6*a^6)./(((k*Tsamp) + a).^7));
% channel impulse response
h = h./sum(h);
% normalizing for conservation of energy
% **************** filter definitions****************
pt = ones(1,nsamp);
% tranmitter filter
c = conv(pt,h,'same');
OOK = randi(1,sig_length);
% random signal generation
Tx_signal = rectpulse(OOK,nsamp);
%Pulse shaping function (rectangular pulse);
channel_output = conv(Tx_signal,h,'same');
% channel output
eyediagram(channel_output, 3*nsamp);

Accedi per commentare.

Risposta accettata

M
M il 28 Ago 2018
Modificato: M il 28 Ago 2018
The problem is that Tx_signal is not a vector but a matrix of size 1000 x 1000.
From the help of conv function:
C = conv(A, B) convolves vectors A and B..
You can look at conv2:
C = conv2(A, B) performs the 2-D convolution of matrices A and B.

Più risposte (2)

KALYAN ACHARJYA
KALYAN ACHARJYA il 28 Ago 2018
Modificato: KALYAN ACHARJYA il 28 Ago 2018
The complete code is available in this Book
Optical Wireless Communications: System and Channel Modelling with MATLAB By Z. Ghassemlooy, W. Popoola, S. Rajbhandari
  2 Commenti
KALYAN ACHARJYA
KALYAN ACHARJYA il 28 Ago 2018
In the following lines more terms there
pt = ones(1,nsamp);
Ensure that Tx_signal and h both should be the vector to avoid the error.

Accedi per commentare.


Walter Roberson
Walter Roberson il 28 Ago 2018
OOK = randi(1,sig_length);
That line says that the rand values should be integers in the range 1 to 1, and that you want sig_length rows and columns of them.
If you want random binary you should use
randi([0 1], 1, sig_length)

Categorie

Scopri di più su Detection, Range and Doppler Estimation in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by