Generating two signals and concatenating them
4 views (last 30 days)
Show older comments
I've got this code that is supposed to concatenate 2 singals, the problem is that i dont know what time i should put for the program to look how it is supposed to look.
ts=12000;
t=0:1/12000:159/12000;
A1=0.4;
A2=0.3;
f1=100;
f2=330;
x1=A1*sin(2*pi*f1*t);
x2=A2*sin(2*pi*f2*t);
s=[x1,x2,x1,x1,x2,x2,x1,x2];
plot(s);
It is supposed to look like this
But instead it looks like this, how should i swap the code.
The exercise sounds like: Generate a useful modulated signal corresponding to a bit string 01001101 in this way following: - for bit 0: a sinusoidal component of amplitude of 0.4V, frequency of 100Hz - for bit 1: a sinusoidal component of amplitude of 0.3V, frequency of 330Hz Each bit has a duration of 20ms without pause between bits (total signal duration is 160 ms). A sampling frequency of 12kHz is used.
0 Comments
Accepted Answer
Geoff Hayes
on 4 Apr 2022
@Peter Cristian - why are you using
159/12000
? Wouldn't that correspond to
159/12000 = 0.1325 seconds
when you should have 0.02 seconds instead which corresponds to the 20 ms duration for each bit. I think you might have been confusing the 160 ms duration for the total signal with the 20 ms required for each bit (though I think using 159 in this manner is still incorrect).
7 Comments
Geoff Hayes
on 4 Apr 2022
Edited: Geoff Hayes
on 4 Apr 2022
The samling rate is 12KHz, so 12000 samples per second. Since you are only interested in 160 ms, then this means that there are
12000 * 0.160 = 1920
samples for the 160 ms period. Since there are 8 blocks (because of the 8 bits) then
1920 / 8 = 240
samples per block. Note that sampleTimeMs is an array of integers from 0 to 160. This is divided by 1000 to convert from milliseconds to seconds.
More Answers (0)
See Also
Categories
Find more on Logical 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!