FSK Modulator/MATLAB | Generate Sunde's FSK

  • Thread starter StumpyHuck29
  • Start date
In summary, you are struggling with your Digital Communications course and using MATLAB to implement a binary continuous-phase FSK modulator. You have a good understanding of the equations involved, but there are a few things to note in your attempt at a solution. These include the length of the data signal, the value of the second term in the phase calculation, and the use of the fft function to calculate the power spectrum. You can use the randi function in MATLAB to generate 10000 random bits, and I encourage you to keep practicing and improving your skills. Good luck!
  • #1
StumpyHuck29
2
0
I truly have no idea what I am doing and I am awful at MATLAB. My senior elective Digital Communications course has been plaguing me with it.

Homework Statement




Use MATLAB to implement a binary continuous-phase FSK modulator. Make the symbols 100 samples long and the carrier have 10 samples/cycle. One approach is to first generate a data signal, data(k), in which each bit value(+1 or -1) is repeated 100 times. Next, generate the phase of the FSK signal as:

phi(k)=phi(k-1)+2*pi/10+data(k)*h*pi/100

where the second term on the right is the phase increment for each sample due to the carrier and the third term is the phase increment due to the data. The FSK signal is s(k)=cos[phi(k)]



a)Generate Sunde's FSK(h=1) for 10000 random data bits. Plot and estimate the power spectrum of the signal, i.e. plot 20*log10(abs(fft_output))


Homework Equations




All shown above


The Attempt at a Solution




My attempt:

h=1;
data= [1 -1 1 -1 1 -1 1 1 -1 1
1 -1 1 -1 -1 1 -1 1 1 1
-1 -1 -1 1 1 1 -1 1 -1 1
-1 1 -1 1 1 1 -1 -1 1 -1
1 1 -1 1 -1 -1 1 -1 1 1
-1 1 -1 1 1 1 -1 -1 -1 -1
1 -1 1 -1 1 -1 -1 1 -1 1
1 -1 -1 -1 1 -1 1 1 1 1
1 1 1 1 -1 1 -1 1 1 -1
-1 1 1 -1 1 -1 1 -1 -1 -1];
phase=data-1+2*pi/10+data*h*pi/100;
s=cos(phase);
fs=fft(phase);
plot(fs);
 
Physics news on Phys.org
  • #2


I understand that you are struggling with your Digital Communications course and using MATLAB to implement a binary continuous-phase FSK modulator. I can offer some guidance and advice to help you with your assignment.

Firstly, it seems like you have a good understanding of the equations and steps involved in generating the FSK signal. However, there are a few things that I would like to point out in your attempt at a solution.

1. The data signal that you have generated is only 10 samples long, while the problem statement requires it to be 100 samples long. This means that you need to repeat each bit value 100 times, not just 10 times.

2. In the phase calculation, the second term on the right side of the equation should be 2*pi/10, not just pi/10.

3. The fft function in MATLAB calculates the fast Fourier transform, which is not the same as the power spectrum. To calculate the power spectrum, you can use the pwelch function in MATLAB.

4. Finally, to generate 10000 random data bits, you can use the randi function in MATLAB. For example, you can use the following code to generate 10000 random bits:

data = randi([0 1], 1, 10000);

I hope this helps you in completing your assignment. Remember, practice makes perfect, so keep working on your skills in using MATLAB and you will eventually become more comfortable with it.

Best of luck!
 

1. What is a FSK modulator?

A FSK (Frequency Shift Keying) modulator is a device or algorithm used to modulate a digital signal by varying the frequency of the carrier wave based on the binary input signal. This technique is commonly used in wireless communication systems to transmit digital data over radio frequencies.

2. How does a FSK modulator work?

In FSK modulation, the binary input signal is converted into a series of frequency shifts. The frequency shifts are then applied to the carrier wave, creating a new modulated signal that can be transmitted wirelessly. The frequency shifts are typically determined by the logic levels of the binary input signal, with one frequency representing a "1" and another frequency representing a "0".

3. What is the advantage of Sunde's FSK?

Sunde's FSK is a type of FSK modulation that uses a continuously varying frequency shift instead of discrete frequency shifts. This allows for more efficient use of the frequency spectrum and reduces the likelihood of interference from neighboring channels.

4. How can I generate Sunde's FSK using MATLAB?

MATLAB is a powerful tool for signal processing and communications. To generate Sunde's FSK using MATLAB, you can use the fskmod function, which takes in the binary input signal and the carrier frequency as parameters and outputs the modulated signal. You can also adjust various parameters such as the frequency deviation and modulation index to customize the FSK modulation.

5. What are the applications of FSK modulation?

FSK modulation is commonly used in applications that require wireless transmission of digital data, such as radio broadcasting, satellite communications, and wireless sensor networks. It is also used in various types of data communication systems, including modems, telemetry systems, and RFID (Radio Frequency Identification) systems.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
6
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
  • Atomic and Condensed Matter
Replies
3
Views
864
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
745
  • Engineering and Comp Sci Homework Help
Replies
2
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
15
Views
2K
Back
Top