⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 channel.vhd

📁 springer_-modeling_and_simulation_for_rf_system_design所有配套光盘源码5-11章
💻 VHD
字号:
-- ------------------------------------------------------------- -- Additional material to the book-- Modeling and Simulation for RF System Design-- ---- THIS MODEL IS LICENSED TO YOU "AS IT IS" AND WITH NO WARRANTIES, -- EXPRESSED OR IMPLIED. THE AUTHORS SPECIFICALLY DISCLAIM ALL IMPLIED -- WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.-- THEY MUST NOT HAVE ANY RESPONSIBILITY FOR ANY DAMAGES, FINANCIAL OR-- LEGAL CLAIMS WHATEVER.-- ------------------------------------------------------------- Name:      Additive white Gaussian noise channel-- -- Description:-- This model describes channel model which includes effects-- of additive white Gaussian noise in the time domain.-- Two uniform distributed random numbers are produced that-- are formed to Gaussian distribution. After digital generation-- the signal is converted to the analog domain and lowpass-- filtered.---- Literature:-- -- Dependencies: -- ------------------------------------------------------------- Logical Library         Design unit-- ------------------------------------------------------------- IEEE_proposed           ELECTRICAL_SYSTEMS-- IEEE                    MATH_REAL-- --------------------------------------------------------------- Source:-- channel.vhd-- -----------------------------------------------------------library IEEE, IEEE_proposed;                                              use IEEE_proposed.ELECTRICAL_SYSTEMS.all;  use IEEE.MATH_REAL.all;entity CHANNEL is  generic (PS_DBM   : REAL := -100.0; -- power of input signal	   S_TO_N   : REAL :=  100.0; -- signal to noise ratio	   FS_NOISE : REAL := 1.0E06; -- frequency of noise signal, MIN: >0.0	   TD       : REAL := 0.0;    -- time delay for input signal	   RIN      : REAL := 50.0;   -- input resistance	   ROUT     : REAL := 50.0    -- output resistance	   );  port (terminal P_in  : ELECTRICAL;  -- input terminal	terminal P_out : ELECTRICAL   -- output terminal	);begin  assert FS_NOISE>0.0    report "fs_noise must be > 0.0"    severity error;end entity CHANNEL;architecture AWGN of CHANNEL is  constant PERIOD: REAL := 1.0/FS_NOISE/2.0;  constant PN_DBM: REAL := PS_DBM - S_TO_N;  constant PN    : REAL := 10**((PN_DBM-30.0)/10.0);   constant VN    : REAL := SQRT(PN * ROUT);  terminal N_INT: ELECTRICAL;  quantity V_RIN  across I_RIN  through P_IN;  quantity V_INT  across I_INT  through N_INT;  quantity V_ROUT across I_ROUT through N_INT to P_OUT;  quantity V_NOISE, V_LPF: real;    signal S_NOISE: REAL := 0.0;begin  --time discrete noise generation  process is    variable X1,X2,X: REAL := 0.0;    variable SD1: POSITIVE := 111;    variable SD2: POSITIVE := 333;  begin    UNIFORM(SD1, SD2, X1);     -- uniform gives a value 0<x<1    UNIFORM(SD1, SD2, X2);     -- defined in ieee.math_real       X:=VN*COS(MATH_2_PI*X1)*SQRT(-2.0*LOG(X2));    S_NOISE<=X;    wait for PERIOD;  end process;  --d-to-a conversion  V_NOISE == S_NOISE;  break on S_NOISE;  --lowpass filtering  V_LPF == V_NOISE'LTF((0 => 1.0), (1.0, 1.0/MATH_2_PI/FS_NOISE/2.0));  --input impedance  V_RIN == RIN * I_RIN;  --time delay and noise addition  V_INT == 2.0*(V_RIN'DELAYED(TD) + V_LPF);  --output impedance  V_ROUT == ROUT * I_ROUT;end architecture AWGN;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -