FSK Homework Assignment Questions
From Derek
Contents
Introduction
Please feel free to use this page like a message board to ask any questions you like about the FSK homework assignment. Anyone can reply to a question, even other students.
Questions and Answers (Q&A)
Question 1
- Answer 1: <blah blah>
Question 2
- Answer 2: <blah blah>
Extra Advice
- Do not use symbolic variables in matlab for the assignment! You should only use symbolic variables in Matlab when you want to simplify an algebraic mathematical expression, such as factorising a polynomial, or finding the mathematical integral or derivative. This is usually not helpful for a simulation. In a simulation you should be using arrays of numbers. These numbers can either be real or complex. All integration and differentiation should be done numerically, e.g. we approximate integration by summing. Summing should be done just as if you were programming in some other language like C, i.e. use a loop. Differentiation is approximated by taking differences. Again, this is likely to be done in a loop.
- Plotting graphs. It is ok to have your signal and noise traces on the same plot, provided they are easy to see after printing in order to save paper. That is plot each trace in a different colour, or in different line styles. However, for demonstrating, at the least I would like to see 3 filter plots, 2 signal/noise plots (with no more than two traces each) and 2 SNR plots. Further to this, 4-5 exploratory plots of your own to demonstrate ownership of the assignment is sufficient.
- Using unwrap in Matlab. Make sure you are using unwrap correctly. Unwrap is designed to be used on an entire array at once, rather than inside a loop on a single value at a time. This is because the kth output of unwrap for the kth input value depends on the (k-1)th input etc. Note that most functions in mMtlab are designed so they have array inputs and array outputs. In many cases it makes no difference if you call a function one value at a time, or a whole array at once, e.g. the cos function. If you use unwrap within your demodulation loop on a single value at a time, the phase conversion will not work properly. So, you should have a line prior to your demodulation loop: Y = unwrap(angle(X)); %Y will be an array of the same size as X