Skip to content

Commit

Permalink
first commit for R24a
Browse files Browse the repository at this point in the history
  • Loading branch information
vikram6G committed Feb 18, 2024
1 parent 8e086ea commit be25c14
Show file tree
Hide file tree
Showing 696 changed files with 233,839 additions and 179,666 deletions.
778 changes: 453 additions & 325 deletions GettingStarted.html

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion _images/PBCH_SDR_Rx.svg

This file was deleted.

1 change: 0 additions & 1 deletion _images/PBCH_SDR_Tx.svg

This file was deleted.

Binary file removed _images/PSBCHE2E.png
Binary file not shown.
Binary file removed _images/SSSB_Grid.png
Binary file not shown.
1,556 changes: 0 additions & 1,556 deletions _images/SSSB_Grid_Heatmap.svg

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file modified _images/api_Tutorials_Tutorial3_Tutorial3_PolarCodes_13_0.png
Binary file modified _images/api_Tutorials_Tutorial4_Tutorial4_LDPCCodes_11_0.png
Binary file modified _images/api_Tutorials_Tutorial4_Tutorial4_LDPCCodes_15_0.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file added _images/cand0.png
Binary file added _images/cand1.png
Binary file added _images/cand2.png
Binary file added _images/cand3.png
Binary file added _images/cand4.png
Binary file added _images/cand5.png
Binary file added _images/cce1.png
Binary file added _images/cce2.png
Binary file added _images/cce3.png
Binary file added _images/cce4.png
Binary file added _images/cce5.png
Binary file added _images/coreset1.png
Binary file added _images/coreset2.png
Binary file modified _images/mobility.gif
Binary file removed _images/output_3_0.png
Diff not rendered.
Binary file added _images/ss1.png
Binary file added _images/ss2.png
8 changes: 3 additions & 5 deletions _sources/api/5G_Toolkit/5Gtoolkit.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ discussed below in table-1.




.. toctree::
:maxdepth: 3

Expand All @@ -55,9 +54,8 @@ discussed below in table-1.
SymbolMapping/symbolMapping
Scrambler/scrambler
ChannelModels/channelModels
MIMOProcessing/mimoProcessing
[N]Scheduler/scheduler
CRC/crc
MIMOProcessing/mimoprocessing
ReceiverAlgorithms/receiverAlgorithms
Positioning/positioning
Configurations/configurations
Utils/utils
[N]Configurations/configurations
88 changes: 11 additions & 77 deletions _sources/api/5G_Toolkit/ChannelModels/channelGenerator.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,90 +3,24 @@
Channel Generator
=================

This module provides classes and functions that generate or compute cluster level complex valued channel coefficients including OFDM.


The class :class:`ChannelGenerator` allows the user to generate the channel.
A call to a method :method:`ofdm` generates OFDM channel after instantiating this class and creating an object.



This module provides the classes that generate cluster level channel coefficients.
The class :class:`ChannelGenerator` allows the user to generate the cluster level channel.
Users can access all the cluster level OFDM channel coefficients in frequency domain, time domain from the methods :meth:`ofdm` and :meth:`timeDomain` respectively.
For more details refer [3GPPTS38901_channelGenerator]_


.. autoclass:: toolkit5G.ChannelModels.ChannelGenerator
:members:
:exclude-members: call, build, ofdm
:exclude-members: call, build, ofdm, timeDomain


.. automethod:: toolkit5G.ChannelModels.channelGenerator.channelGenerator.ChannelGenerator.ofdm
:noindex:



**Example:**


.. code-block:: Python
# terrain or scenario for BS-UE links "UMa"
>>> terrain = np.array(["UMa","UMi","InH-OO"])
# links simulated at two carrier frequencies in Hz
>>> carrierFreq = np.array([3*10**9, 5*10**9])
>>> numCarriers = carrierFreq.shape[0]
# vector of Antenna Array objects at UE or Rx side at each carrier frequency and with an OMNI directional antenna element.
>>> ueAntennaArray = np.empty(numCarriers, dtype=object)
>>> for i in range(carrierFreq.size):
>>> ueAntennaArray[i] = AntennaArrays(antennaType = "OMNI",
... centerFrequency = carrierFreq[i],
... arrayStructure = np.array([1,1,1,1,1]),
... antennaSpacing = np.array([0.5,0.5,0.5,0.5]))
>>> ueAntennaArray[i]()
# vector of Antenna Array objects at BS or Tx side at each carrier frequency and with a 3GPP_38.901 parabolic antenna element.
>>> bsAntennaArray = np.empty(numCarriers, dtype=object)
>>> for i in range(carrierFreq.size):
>>> bsAntennaArray[i] = AntennaArrays(antennaType = "3GPP_38.901",
... centerFrequency = carrierFreq[i],
... arrayStructure = np.array([1,1,1,1,1]),
... antennaSpacing = np.array([0.5,0.5,0.5,0.5]))
>>> bsAntennaArray[i]()
# simulating BS Layout and UE drops by passing ueRoute, where ueRoute is an object of NodeMobility class.
# Here we assume that all the BSs are static and all the UEs are mobile.
# NodeMobility parameters
>>> nBSs = 19 # number of BSs
>>> nUEs = 100 # number of UEs
>>> nSnapShots = 2 # number of Snap-Shots
>>> timeInst = np.linspace(start = 0, stop = 10, num=nSnapShots, dtype=np.float32) # time values at each snapshot.
>>> UEroute = NodeMobility("randomWalk", nUEs, timeInst) # object of class NodeMobility
>>> UEroute()
# simulation layout object
>>> simLayoutObj = SimulationLayout(numOfBS = nBSs,
... numOfUE = nUEs,
... heightOfBS = 25,
... heightOfUE = 10,
... ISD = 500,
... layoutType = "Hexagonal",
... numOfSectorsPerSite = 3,
... minUEBSDistance = 35,
ueRoute = UEroute)
>>> simLayoutObj(terrain, carrierFreq, ueAntennaArray, bsAntennaArray)
# displaying the topology of simulation layout
>>> simLayoutObj.display2DTopology()
# velocity vector
>>> velocityVect = simLayoutObj.UEvelocityVector #(numSnapShots,numUE,3)
# Fetching channel parameters using simLayoutObj
# Returns an object of the class ParameterGenerator
>>> paramGenObj = simLayoutObj.getParameterGenerator()
# Channel Generation
>>> channel = paramGenObj.getChannel(applyPathLoss = True)
# OFDM Channel Generation
>>> Nfft = 1024
>>> Hf = channel.ofdm(30*10**3, Nfft, simLayoutObj.carrierFrequency)
:noindex:


.. automethod:: toolkit5G.ChannelModels.channelGenerator.channelGenerator.ChannelGenerator.timeDomain
:noindex:


References:
.. [3GPPTS38901_channelGenerator] (3GPP TS 38.901 version 17.0.0 Release 17) 5G;NR;Study on channel model for frequencies from 0.5 to 100 GHz.
Loading

0 comments on commit be25c14

Please sign in to comment.