# First, create a bandwidth part object with 24 PRBs and 15 kHz subcarrier spacing
bwp = BandwidthPart(numRbs=24, spacing=15)
# Now create the channel generator
chanGen = CdlChannel.getChanGen(1000, bwp, # Number of channels and bandwidth part
profiles="ABCDE", # Randomly pick a CDL profile
delaySpread=(10,500), # Uniformly sample between 10 and 500 ns
ueSpeed=(5,20), # Uniformly sample between 5 and 20 mps
ueDir=[45, 135, 225, 315], # Randomly pick one of these UE directions
carrierFreq=4e9, # Carrier frequency
txAntenna=AntennaPanel([2,4], polarization="x"), # 16 TX antennas
rxAntenna=AntennaPanel([1,2], polarization="x"), # 4 RX antennas
seed=123)
# Generate the channel matrices
allChannels = np.stack([chan for chan in chanGen])
print(f"shape of 'allChannels': {allChannels.shape}")