Timeline for Transmit data through sound between 2 computers (very close distance)
Current License: CC BY-SA 3.0
19 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jan 13, 2018 at 16:18 | comment | added | Dang Manh Truong | Well can you share your implementation of AM-DSB Lc please ? I'm really curious :) | |
Jan 12, 2018 at 16:30 | comment | added | MBaz | @DangManhTruong It's awesome that you got it working, congratulations, and thanks for posting the details in your answer. I have never tried implementing DTMF myself, now I have a new project :) | |
Jan 1, 2018 at 16:07 | comment | added | Dang Manh Truong | I have posted my answer. In the end, I used DTMF and it worked fine (it could even work when I used a rap song as the noise source, although it must not be too close to the microphone). But thanks anyway :) | |
Dec 9, 2017 at 10:29 | comment | added | Dang Manh Truong | I have made some progress, please check the update. However I did not implement what you suggested but instead only did only the modulation and demodulation. However the result was really terrible. Please can you help me explain the results? Why is the result the way it is? Is it because my code was wrong, or is it because my method was to simplistic to work? Please help me, thank you very much :) | |
Dec 7, 2017 at 14:07 | comment | added | MBaz | You first create a baseband BPSK signal -- a sequence of raised cosine pulses with two amplitudes. Then, you use AM DSB LC to upconvert that baseband signal to the passband. In the receiver, you use an envelope detector to recover the baseband signal. | |
Dec 7, 2017 at 11:06 | comment | added | Dang Manh Truong | Wait a minute, in the answer you suggested to use AM-DSB LC, but now you're saying I should use BPSK, but then wouldn't I lose the strength of AM-DSB LC that is no need for phase synchronization,... ? You also said that you have implemented data transmission via sound before? Can you tell me which method you used? :) | |
Dec 7, 2017 at 3:32 | comment | added | MBaz | BTW, feel free to accept the answer too if it was useful to you :) | |
Dec 7, 2017 at 3:32 | comment | added | MBaz | Lots of questions :) Feel free to ask new questions too. In brief: I recommend sticking to BPSK, where $p(t)$ is a raised cosine and you transmit either $+p(t)$ or $-p(t)$. I suggest fixing the sampling rate at 48,000, since it is high enough for any audio and compatible with all sound cards. You know how many characters you'll receive because you know the frame format. | |
Dec 7, 2017 at 2:41 | comment | added | Dang Manh Truong | Another thing is in the chapter Bits to Symbols to Signals, the code for undoing pulse shaping z=y(NM:M:2*NM-1)/(pow(ps)*M); % downsample to symbol rate and normalize , where N is the number of characters. So in order to receive the signal we have to know how many characters we are going to receive? But how is it possible? | |
Dec 7, 2017 at 2:39 | comment | added | Dang Manh Truong | Also, suppose I transmit the signal through sound using, say: sound(y,Fs) (Matlab) with Fs being the sampling rate. Accoriding to the Nyquist criterion, if the signal is transmitted at F you have to sample it at twice the highest frequency. So in the receiver the sampling rate is 2 * Fs ? Is it correct ? | |
Dec 7, 2017 at 2:37 | comment | added | Dang Manh Truong | Wait a minute, in the book they say that, for example: you convert binary signals into alphabets, for example: 01 -> -1, 00 -> -3, 10 ->1, 11 -> 3 (voltage). Then you multiply it with a rectangular pulse p(t) to get the analog signal. So with AM-DSB LC, p(t) is already the sine wave, because you only have 1 or zero, 1 then you transmit the sine wave, 0 then nothing. So instead of a sine wave I have to transfer a square-root raised cosine? Please correct me if I'm wrong thank you very much | |
Dec 6, 2017 at 17:56 | comment | added | MBaz | Sounds correct. | |
Dec 6, 2017 at 16:57 | comment | added | Dang Manh Truong | And if I wish to send data in a packet form, with a header at the beginning and the end, say 1 1 1 1 1 1 1 1, so I should append it with the data, then modulate it, then pulse shape it. On the receiver, I would correlate the received signal with the pulse shape (square-root raised cosine,..) then I have to demodulate the signal, after that correlate with the header . Is my understanding correct? | |
Dec 6, 2017 at 16:55 | comment | added | Dang Manh Truong | I have read the book Software receiver design as you suggested (actually I skimmed through most of it and concentrated on Chapter 8: Bits to Symbols to Signals). So I have some questions. You said something about pulses, but in the book's example they used a Hamming window as a pulse, is it alright if I do so? And is my understand correct: First you modulate signal using, say, ASK, then you use pulse shaping. Then on the receiver, you first correlate with the pulse signal to receive the modulated signal. Then you demodulate. Is it correct? | |
Dec 5, 2017 at 19:17 | history | edited | MBaz | CC BY-SA 3.0 |
added 10 characters in body
|
Dec 5, 2017 at 19:15 | comment | added | MBaz | @DangManhTruong One more thing: be sure to use bandwidth-limited pulses such as square-root raised cosine, not square pulses that have a large bandwidth and will very likely suffer distortion. | |
Dec 5, 2017 at 16:03 | comment | added | MBaz | Thanks for your kind words :) The thing is that you want to make sure you transmit over a frequency band where the channel response is flat; otherwise, you'll need an equalizer in the receiver. If you don't want to estimate the channel response, what you can do is use a very low data rate (say, 100 b/s) on a frequency that all audio equipement should be comfortable with (say, 5000 Hz). | |
Dec 5, 2017 at 14:51 | comment | added | Dang Manh Truong | I've read your paper. Keep up the good work! One question: In the paper, you talked about several methods used by students to find the channel response (using impulse, sine waves,..). Would I need to find the channel response too? :) | |
Dec 5, 2017 at 14:21 | history | answered | MBaz | CC BY-SA 3.0 |