Модуляция BPSK. Почему используются именно эти значения?
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;
Я получил этот код BPSK на основе vhdl с сайта. Код понятен, но почему c000 и 4000 используются для реальных частей, а 0000 - для мнимых переменных...(Я знаю, что выход схемы модуляции сложен) Но почему именно эти values.....Do они представляют собой две точки На диаграмме созвездий схемы модуляции BPSK?
Опять же BPSK представлен изменением фазы несущего сигнала в соответствии с изменением битов входного сигнала. Этот несущий сигнал здесь не виден.
Что я уже пробовал:
Мы смоделировали код и не получили никакого несущего сигнала, фаза которого меняется в соответствии с входным сигналом. Он просто показывает цифры...- Что это?