www.pudn.com > PSK.zip > my_pskmod.m


function y = my_pskmod(x , m) 
 
%this is function for generating the phase shift keying modulation, where x 
%is the signal to be modulated, and m is the type of modulation, like 
%M-PSK, and m is a integer power of 2, y should be row vector. x is a row 
%or coulmn integer vector and in between 0 to M-1. 
 
%santosh shah, The LNM IIT Jaipur (India)(santosh.jnt@gmail.com) 24/04/07 
 
%i have to check if M is equal to the power of 2 and x is in between 0 to 
%M-1 so.. 
if log2(m)~= floor(log2(m)) 
    error('Please check the value of m that you have provided for type M-QAM.'); 
end 
 
% i need to remove (x == floor(x)), if we want the value of x is in between anywhere 0 to M-1 
if ~all(x >= 0 & x < m & x == floor(x)) 
    error('Please check the messege vector it must be in between 0 to M-1.'); 
end 
 
%now generating the cancellation points 
t = (0:m-1); 
s  = exp(2*pi*t*(m-1)/m*(-i)); % taking the concept of cosx + i*sinx 
y = s(x+1);