{"id":3551,"date":"2019-12-10T15:25:09","date_gmt":"2019-12-10T15:25:09","guid":{"rendered":"http:\/\/www.raymaps.com\/?p=3551"},"modified":"2022-06-04T08:16:54","modified_gmt":"2022-06-04T08:16:54","slug":"minimum-shift-keying-bit-error-rate-in-awgn","status":"publish","type":"post","link":"https:\/\/www.raymaps.com\/index.php\/minimum-shift-keying-bit-error-rate-in-awgn\/","title":{"rendered":"Minimum Shift Keying Bit Error Rate in AWGN"},"content":{"rendered":"\n<pre class=\"wp-block-preformatted\">I - Minimum Shift Keying (MSK) is a type of Continuous Phase Modulation (CPM) that has been used in many wireless communication systems. To be more precise it is Continuous Phase Frequency Shift Keying (CPFSK) with two frequencies f1 and f2. The frequency separation between the two tones is the minimum allowable while maintaining orthogonality and is equal to half the bit rate (or symbol rate, as both are the same). The frequency deviation is then given as \u0394f=Rb\/4. The two tones have frequencies of fc\u00b1\u0394f where fc is the carrier frequency. MSK is sometimes also visualized as Offset QPSK (OQPSK) but we will not go into its details here. <\/pre>\n\n\n\n<!--more-->\n\n\n\n<pre class=\"wp-block-preformatted\">II - As is known Continuous Phase Modulations typically have a constant envelope. That is there is no Amplitude Modulation (AM) and the signal is not affected by distortion of carrier amplitude by fading or non-linear amplification. Continuity of phase also means that there are no abrupt changes in phase and sidelobe levels are very low. It must be noted however that in MSK the width of the main lobe is wider than in QPSK (but less than BPSK). The sidelobe level of MSK can be further reduced by using a Gaussian filer. The modulation so obtained is called Gaussian Minimum Shift Keying (GMSK).<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">III - GMSK modulation was adopted by GSM standard (a 2G standard) but has now gone out of favor as more spectrally efficient waveforms such as OFDM\/QAM have taken over. &nbsp;The sidelobe level depends upon the symbol time (T) and bandwidth (B) product which is abbreviated as BT. Smaller the value of BT lower is the sidelobe level. However, lower value of BT means greater Inter-Symbol Interference (ISI) which requires an equalizer such as Decision Feedback Equalizer (DFE). In GSM systems BT was kept at 0.3 whereas in Bluetooth it was 0.5. In this post we consider simple MSK without any filtering. The channel is considered to be AWGN but fading can also be easily introduced.&nbsp; <\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"http:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Cumulative-Phase-1024x768.png\" alt=\"MSK Cumulative Phase\" class=\"wp-image-3553\" srcset=\"https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Cumulative-Phase-1024x768.png 1024w, https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Cumulative-Phase-300x225.png 300w, https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Cumulative-Phase-768x576.png 768w, https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Cumulative-Phase.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>MSK Cumulative Phase<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"http:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Signal-Constellation-in-AWGN-1024x768.png\" alt=\"MSK Signal Constellation in AWGN\" class=\"wp-image-3644\" srcset=\"https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Signal-Constellation-in-AWGN-1024x768.png 1024w, https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Signal-Constellation-in-AWGN-300x225.png 300w, https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Signal-Constellation-in-AWGN-768x576.png 768w, https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Signal-Constellation-in-AWGN.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>MSK Signal Constellation in AWGN<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">MATLAB Code<\/h2>\n\n\n\n<pre lang=\"MATLAB\">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%           MINIMUM SHIFT  KEYING           %\n%            BER OF MSK IN AWGN             %\n%             www.raymaps.com               %\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\nclear all\nclose all\n\nno_of_bits=5e6;\nbits_in=round(rand(1,no_of_bits));\ndifferential_bits=abs(diff([0, bits_in]));\nbipolar_symbols=differential_bits*2-1;\ncumulative_phase=(pi\/2)*cumsum(bipolar_symbols);\ntx_signal=exp(i*cumulative_phase);\n\nEb=1;\nEbNodB=10;\nEbNo=10^(EbNodB\/10);\nsigma=sqrt(Eb\/(2*EbNo));\nAWGN_noise=randn(1,no_of_bits)+i*randn(1,no_of_bits);\nrx_signal=tx_signal+sigma*AWGN_noise;\n\nrx_signal(2:2:end)=real(rx_signal(2:2:end));\nrx_signal(1:2:end)=imag(rx_signal(1:2:end));\n\nk=1:no_of_bits;\nk=round(k\/2);\nmultiplier=(-1).^(k+1);\ndemodulated_symbols=multiplier.*sign(rx_signal);\nbits_out=demodulated_symbols*0.5+0.5;\n\nber_simulated=sum(bits_out!=bits_in)\/no_of_bits\nber_theoretical=0.5*erfc(sqrt(EbNo))\n\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Simulation Results<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">Bit Error Rate (BER) simulation was carried out in MATLAB using one sample per symbol. This is done to keep the processing time to a minimum, however, the reader is encouraged to experiment with multiple samples per symbol. The environment under which the MSK BER is calculated is AWGN. Simulation for a Rayleigh fading channel can be done by adding the following two lines of code:<\/pre>\n\n\n\n<pre lang=\"MATLAB\">channel_coeff=(1\/sqrt(2))*(randn(1,no_of_bits)+i*randn(1,no_of_bits));\nrx_signal=abs(channel_coeff).*tx_signal+sigma*AWGN_noise;\n<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">Theoretical BER in Rayleigh fading environment can be calculated as:<\/pre>\n\n\n\n<pre lang=\"MATLAB\">ber_theoretical=0.5*(1-sqrt(EbNo\/(EbNo+1)))\n<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">Theoretical and simulation results for both AWGN and Rayleigh environment match perfectly. It must be noted that BER results for both the environments exactly match with the results for BPSK. This is because both the modulations are essentially binary phase shift modulations, one using only real plane while other using both real and imaginary (alternatively).<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"http:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Bit-Error-Rate-in-AWGN-1024x768.png\" alt=\"MSK Bit Error Rate in AWGN\" class=\"wp-image-3555\" srcset=\"https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Bit-Error-Rate-in-AWGN-1024x768.png 1024w, https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Bit-Error-Rate-in-AWGN-300x225.png 300w, https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Bit-Error-Rate-in-AWGN-768x576.png 768w, https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Bit-Error-Rate-in-AWGN.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>MSK Bit Error Rate in AWGN<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"http:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Bit-Error-Rate-in-Rayleigh-Fading-1024x768.png\" alt=\"MSK Bit Error Rate in Rayleigh Fading\" class=\"wp-image-3566\" srcset=\"https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Bit-Error-Rate-in-Rayleigh-Fading-1024x768.png 1024w, https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Bit-Error-Rate-in-Rayleigh-Fading-300x225.png 300w, https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Bit-Error-Rate-in-Rayleigh-Fading-768x576.png 768w, https:\/\/www.raymaps.com\/wp-content\/uploads\/2019\/12\/MSK-Bit-Error-Rate-in-Rayleigh-Fading.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>MSK Bit Error Rate in Rayleigh Fading<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Minimum Shift Keying (MSK) is a type of Continuous Phase Modulation (CPM) that has been used in many wireless communication systems. To be more precise it is Continuous Phase Frequency Shift Keying (CPFSK) with two frequencies f1 and f2.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,219],"tags":[77,34,58,206,205],"class_list":["post-3551","post","type-post","status-publish","format-standard","hentry","category-berp","category-modulation","tag-awgn","tag-ber","tag-fading","tag-gmsk","tag-msk"],"_links":{"self":[{"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/posts\/3551","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/comments?post=3551"}],"version-history":[{"count":12,"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/posts\/3551\/revisions"}],"predecessor-version":[{"id":4283,"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/posts\/3551\/revisions\/4283"}],"wp:attachment":[{"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/media?parent=3551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/categories?post=3551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/tags?post=3551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}