# First create a carrier object with 25 PRBs and 15KHz subcarrier spacing
carrier = Carrier(startRb=0, numRbs=25, spacing=15)
# Now create the generator
chanGen = CdlChannel.getChanGen(1000, carrier.curBwp, # Number of channels and bandwidth part
profiles="ABCDE", # Randomly pick a CDL profile
delaySpread=(10,500), # Uniformly sample beween 10 and 500 ns
ueSpeed=(5,20), # Uniformly sample beween 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 antenna
rxAntenna=AntennaPanel([1,2], polarization="x"), # 4 RX antenna
seed=123)
# create the channel matrices
allChannels = np.stack([chan for chan in chanGen])
print(f"shape of 'allChannels': {allChannels.shape}")