Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

BPSK modulation. Why these particular values are used?

Status
Not open for further replies.

Anwesa Roy

Member level 2
Member level 2
Joined
Feb 24, 2014
Messages
49
Helped
0
Reputation
0
Reaction score
0
Trophy points
6
Activity points
532
Code:
library IEEE; 
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
-- Entity Declaration
entity bpsk_mod is
Port (
clk : in std_logic; -- Processing clock
valid_in : in std_logic; -- Input valid signal
data_in : in std_logic; -- Input data signal
reset : in std_logic; -- Asynchronous reset signal
valid_out : out std_logic; -- output valid signal
data_out_rl, data_out_ig : out std_logic_vector(15 downto 0) -- real and imaginary part of the output data
);
end bpsk_mod;
-- Architecture begins here
architecture Behavioral of bpsk_mod is
begin
process(clk, reset)
begin
if (reset = '1') then
valid_out <= '0';
data_out_rl <= (others => '0');
data_out_ig <= (others => '0');
elsif(clk'event and clk = '1')then
if(valid_in = '1') then
case data_in is
when '1' => data_out_rl <= x"c000";
data_out_ig <= x"0000"; -- Based on the input generating the
valid_out <= '1'; -- output signals
when '0' => data_out_rl <= x"4000";
data_out_ig <= x"0000";
valid_out <= '1';
when others => data_out_rl <= x"0000";
data_out_ig <= x"0000";
valid_out <= '1';
end case;
else
valid_out <= '0';
data_out_rl <= (others => '0');
data_out_ig <= (others => '0');
end if;
end if;
end process;
end Behavioral;

I have got this vhdl based BPSK code from a site. The code is understandable, but why c000 and 4000 being used for real parts and 0000 is used for imaginary variables...(I know that output of a modulation scheme is complex) But Why these particular values.....Do they represent two points in the constellation diagram of the BPSK modulation scheme?

Again BPSK is represented by changing phase of the carrier signal according to the change in bits of the input signal. That carrier signal cant be seen here.
 

[BPSK modulation can be represented on I-Q constellation as 2-points [I1,Q1]=(1,0) and [I2,Q2]=[-1,0].

in this code 0x4000 represents a positive amplitude on I and 0xC000 represents a negative amplitude On I. 0x0000 represents 0;

then for input '1' output will be [-1,0] or [0xC000,0x0000]
and for input '0' output will be [1,0] or [0x4000,0x0000]
 
Do you have any vhdl program which will enable us to physically see sine wave with phase shifts,shifting according to the changing value of the input signal.
 

If I am not incorrect the posts #3 and #1 are independent. If this is so, then you should be creating a new thread.

Do you have any vhdl program which will enable us to physically see sine wave with phase shifts,shifting according to the changing value of the input signal.

Question is do you want the sine wave gen module to be synth or not.

A simple google search brings out with many links where people have posted a sine wave gen model in VHDL.
I found one very easily:
https://www.google.de/url?sa=t&rct=...170282&usg=AFQjCNGC3hBN0FUZ1ILmfYw2ACKpHeGz3w

On a side note, what is "to physically see sine wave"? I didn't understand that.
Is there anything which can also be virtually seen (as opposed to physically seeing)?
 
Last edited:

If I am not incorrect the posts #3 and #1 are independent. If this is so, then you should be creating a new thread.

They are related - BPSK modulationuses the change in phase of a sine wave over time to get a 0 or a 1.

TO the OP - modelsim can display data values as sine waves, but you would also need to model the chip that decodes the sine waves into IQ values. I think you would be better off just simulating at the IQ level.
 

They are related - BPSK modulationuses the change in phase of a sine wave over time to get a 0 or a 1.

TO the OP - modelsim can display data values as sine waves, but you would also need to model the chip that decodes the sine waves into IQ values. I think you would be better off just simulating at the IQ level.

what is meant by IQ values.....is it Intelligence Quotient?:thinker:
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top