Файл:MIMO Capacity.png

Исходный файл (3000 × 1500 пикселей, размер файла: 160 КБ, тип MIME: image/png )

Краткое содержание

ОписаниеЕмкость MIMO.png
Русский: Исходный код также доступен в нашем репозитории GitHub.
Дата
ИсточникСобственная работа
АвторКирлф
разработка PNG
Инфополе
 
Этот график был создан с помощью Matplotlib.
Исходный код
Инфополе

Код Python

импортировать  numpy  как  np из  numpy  импортировать  linalg  как  LA импортировать  предупреждения предупреждения . filterwarnings ( 'ignore' ) импортировать  matplotlib.pyplot  как  pltdef  waterpouring ( Mt ,  SNR_dB ,  H_chan ):  SNR  =  10 ** ( SNR_dB / ​​10 )  r  =  LA . matrix_rank ( H_chan )  H_sq  =  np . dot ( H_chan , np . matrix ( H_chan ,  dtype = complex ) . H )  лямбдасы  =  LA . eigvals ( H_sq )  лямбдасы  =  np . sort ( лямбдасы )[:: - 1 ]  p  =  1 ;  гаммы  =  np . zeros (( r , 1 ))  флаг  =  True  while  флаг  ==  True :  лямбдасы_r_p_1  =  лямбдасы [ 0 :( r - p + 1 )]  inv_лямбдасумма  =  np . сумма ( 1 / lambdas_r_p_1 )  mu  =  (  Mt  /  ( r  -  p  +  1 )  )  *  (  1  +  ( 1 / SNR )  *  inv_lambdas_sum )  для  idx ,  элемент  в  перечислении ( lambdas_r_p_1 ):  gammas [ idx ]  =  mu  -  ( Mt / ( SNR * элемент ))  если  gammas [ r - p ]  <  0 :  # из-за Python начинается с 0  gammas [ r - p ]  =  0  # из-за Python начинается с 0  p  =  p  +  1  else :  флаг  =  Ложь  res =  [  ] для  гаммы  в  гаммах :  res.append ( float ( gamma ) ) return np.array ( res )  def  openloop_capacity ( H_chan ,  SNR_dB ):  SNR  =  10 ** ( SNR_dB / ​​10 )  Mt  =  np . shape ( H_chan )[ 1 ]  H_sq  =  np . dot ( H_chan , np . matrix ( H_chan ,  dtype = complex ) . H )  лямбды  =  LA . eigvals ( H_sq )  лямбды  =  np . sort ( лямбды )[:: - 1 ]  c  =  0  для  eig  в  лямбдах :  c  =  c  +  np . log2 ( 1  +  SNR * eig / Mt )  return  np . real ( c )def  closedloop_capacity ( H_chan ,  SNR_dB ):  SNR  =  10 ** ( SNR_dB / ​​10 )  Mt  =  np . shape ( H_chan )[ 1 ]  H_sq  =  np . dot ( H_chan , np . matrix ( H_chan ,  dtype = complex ) . H )  lambdas  =  LA . eigvals ( H_sq )  lambdas  =  np . real ( np . sort ( lambdas ))[:: - 1 ]  c  =  0  gammas  =  waterpouring ( Mt ,  SNR_dB ,  H_chan )  для  idx ,  элемент  в  enumerate ( lambdas ):  c  =  c  +  np . log2 ( 1 +  SNR * item * gammas [ idx ] / Mt )  return  np . real ( c )Mr  =  4 Mt  =  4 counter  =  1000 SNR_dBs  =  [ i  для  i  в  диапазоне ( 1 ,  21 ) ] C_open  =  np.empty (( len ( SNR_dBs ) , counter ) ) C_closed = np.empty ( ( len ( SNR_dBs ), counter ))    для  c  в  диапазоне ( counter ) :  H_chan  =  ( np.random.randn ( Mr , Mt ) + 1 j * np.random.randn ( Mr , Mt ) ) / np.sqrt ( 2 ) для idx , SNR_dB в enumerate ( SNR_dBs ) : C_open [ idx , c ] = openloop_capacity ( H_chan , SNR_dB ) C_closed [ idx , c ] = closedloop_capacity ( H_chan , SNR_dB )                   C_open_erg  =  np.среднее ( C_open , ось = 1 ) C_closed_erg = np.среднее ( C_closed , ось = 1 )    fig  =  plt.figure ( figsize = ( 10,5 ) , dpi = 300 ) plt.plot ( SNR_dBs , C_open_erg , label = 'Канал неизвестен (CU)' ) plt.plot ( SNR_dBs , C_closed_erg , label = 'Канал известен (CK)' ) plt.title ( " Эргодическая емкость " ) plt.xlabel ( ' SNR ( дБ )' ) plt.ylabel ( ' Емкость ( бит / с / Гц) ' ) plt.legend ( ) plt.grid ( ) plt.savefig ( ' MIMO_Capacity.png ' )      

Лицензирование

Я, владелец авторских прав на данную работу, настоящим публикую ее на условиях следующей лицензии:
w:ru:Creative Commons
атрибуция доля одинаково
Этот файл лицензирован в соответствии с лицензией Creative Commons Attribution-Share Alike 4.0 International.
Вы свободны:
  • делиться – копировать, распространять и передавать работу
  • ремиксовать – адаптировать произведение
При следующих условиях:
  • атрибуция – Вы должны указать соответствующее авторство, предоставить ссылку на лицензию и указать, были ли внесены изменения. Вы можете сделать это любым разумным способом, но не таким образом, который подразумевает, что лицензиар одобряет вас или ваше использование.
  • распространяйте на равных условиях – если вы делаете ремиксы, преобразуете или дополняете материал, вы должны распространять свои вклады по той же или совместимой лицензии, что и оригинал.
https://creativecommons.org/licenses/by-sa/4.0CC BY-SA 4.0Creative Commons Attribution-Share Alike 4.0истинныйистинный

Подписи

Эргодические пропускные способности замкнутого контура (канал известен) и эргодические пропускные способности разомкнутого контура (канал неизвестен).

Элементы, изображенные в этом файле

изображает

создатель

некоторая ценность

Имя автора строка : Kirlf
Имя пользователя Wikimedia : Kirlf

статус авторских прав

защищенный авторским правом

лицензия на авторское право

Creative Commons Attribution-ShareAlike 4.0 International

зарождение

15 февраля 2019 г.

источник файла

оригинальное создание загрузчика

История файла

Нажмите на дату/время, чтобы просмотреть файл в том виде, в котором он был в тот момент.

Дата/ВремяМиниатюраРазмерыПользовательКомментарий
текущий08:07, 15 февраля 2019 г.3000 × 1500 (160 КБ)КирлфПользователь создал страницу с помощью UploadWizard

Следующая страница использует этот файл:

Метаданные

Получено с "https://en.wikipedia.org/wiki/File:MIMO_Capacity.png"