Generating two signals and concatenating them
조회 수: 4 (최근 30일)
이전 댓글 표시
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
채택된 답변
Geoff Hayes
2022년 4월 4일
@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
Geoff Hayes
2022년 4월 4일
편집: Geoff Hayes
2022년 4월 4일
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.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!