躯体化什么意思| 九月二十四号是什么星座| 目翳是什么意思| 吃什么最养胃修复胃| 沦落什么意思| 紫烟是什么意思| 苡字取名寓意是什么| 月经2天就没了什么原因| 冷笑是什么意思| 鼻子经常流鼻涕是什么原因| 肉什么结构| 粉红色泡沫痰见于什么病| 脘痞什么意思| 做奶茶用什么茶叶| 先心病是什么病| 中规中矩是什么意思| 螳螂捕蝉黄雀在后是什么生肖| 肠胃紊乱什么症状| 不知道为了什么| 为什么会有头皮屑| 什么叫血沉| 词又被称为什么| 黑洞里面是什么| 什么照镜子里外不是人| 小腿前面的骨头叫什么| 梦到借钱给别人什么意思| 11点是什么时辰| 下午茶是什么意思| 什么是手机号| 卢靖姗是什么混血| 活在当下什么意思| 戒奶涨奶痛有什么缓解方法| 吃什么东西化痰| 日字旁跟什么有关| 便秘是什么症状| 脚肿腿肿是什么原因引起的| 洗涤心灵是什么意思| 什么是文员| 卷柏属于什么植物| 血透是什么意思| 双向情感障碍吃什么药| 吃什么止泻| 辗转是什么意思| 21三体高风险是什么原因造成的| 心脏传导阻滞吃什么药| 什么网卡好| 吃海带有什么好处和坏处| 亚麻籽油有什么功效| 支气管疾患是什么意思| 大便黑色什么原因| 无期徒刑什么意思| 抗生素是什么药| 蒲公英和什么搭配最好| 五行属土缺命里缺什么| 1945属什么生肖| 北京大学前身叫什么| 什么叫做脂肪肝| 蛇进家是什么意思| noon什么意思| 梦见小狗是什么意思| 做病理是什么意思| 什么样的女孩容易招鬼| 飞蚊症是什么症状| 儿童哮喘挂什么科| 祝福是什么意思| 肚脐下四指是什么位置| 子婴是秦始皇什么人| 肠胃炎适合吃什么食物| 请柬写伉俪什么意思| 黥面是什么意思| 大力念什么| 原字五行属什么| 肋骨突出是什么原因| 顺铂是什么药| 螃蟹和什么不能一起吃| 相濡以沫不如相忘于江湖是什么意思| 变白吃什么| 低血糖是什么引起的| 外交部长是什么级别| 黄花菜不能和什么一起吃| 一个虫一个合读什么| 什么样的莲蓬| 戾气什么意思| 各位同仁用在什么场合| 寒气和湿气有什么区别| 沸石为什么能防止暴沸| 老花眼视力模糊有什么办法解决吗| 什么叫入伏| 西瓜虫喜欢吃什么| 神迹是什么意思| 床上用品四件套都有什么| 什么克土| 纯字五行属什么| 转呼啦圈有什么好处| 媱五行属什么| 通草是什么| 水是由什么组成的| 高血压有什么症状表现| 嗓子沙哑吃什么药| cold是什么意思| 别名是什么意思| 九头身什么意思| 争辩的近义词是什么| 月经一直不停有什么办法止血| 拉肚子最好吃什么食物| 做梦拉屎是什么意思| 先自度其足的度是什么意思| 过期红酒有什么用途| 什么是对偶句| 黄金五行属什么| 烈女怕缠郎是什么意思| 纤维瘤是什么病| 此地无银三百两是什么意思| 玄关什么意思| 莺是什么鸟| 产后42天挂什么科| 身份证号后四位代表什么| 蔻驰包属于什么档次| 土字生肖有钱收是什么生肖| 属猪的贵人属相是什么| 大便颗粒状是什么原因| 蒲公英长什么样| 粉底液和bb霜有什么区别| 脸上发红是什么原因| 干咳吃什么药最有效| 狼吃什么| 羽加立念什么| 居酒屋是什么意思| 乌龙茶适合什么季节喝| 祸不单行是什么意思| 胃泌素释放肽前体高是什么原因| 米醋和陈醋有什么区别| 眼前发黑是什么原因| 302是什么意思| 女生两个月没来月经是什么原因| 西洋参和人参有什么区别| 女性私处为什么会变黑| 什么是细胞| 吃什么能提升血小板| 连襟什么意思| 腰封是什么意思| 纯阴八字为什么要保密| 巩加虫念什么| 乳腺发炎有什么症状| ih医学上是什么意思| 天地人和是什么意思| 毛的部首是什么| 什么是肠痉挛| 三个土念什么| 考虑是什么意思| 手舞足蹈是什么生肖| 脱水有什么症状| 病毒性感冒发烧吃什么药| 幽门杆菌的症状是什么| 猪脚煲汤放什么材料好| 毒瘾发作是什么感觉| 星座是什么意思| 面包是什么做的| chris是什么意思| 毕业是什么意思| 吃马齿苋有什么好处| 氧分压是什么意思| eb病毒是什么| 观照是什么意思| 脚心痒是什么原因引起的| 肠炎发烧吃什么药| 脾胃不好能吃什么水果| 刚怀孕吃什么好| 寓言故事有什么| 午时右眼跳是什么预兆| 铁蛋白偏低是什么意思| 梦见别人穿红衣服是什么意思| 血小板为什么会高| 放屁特别臭是什么原因| 细胞是由什么构成的| 长豆角叫什么| 脚底出汗什么原因| 素毛肚是什么做的| 肌酸是什么东西| 皮粉色是什么颜色| 剃光头有什么好处| 大校军衔相当于什么官| 纳豆是什么东西| 热射病什么症状| 怀孕后乳房有什么变化| 天空为什么会打雷| 梵蒂冈为什么没人敢打| 肝火旺盛吃什么中成药| 肠易激综合症什么症状| 老虎吃什么食物| 灵长类是什么意思| 痛经吃什么| 量程是什么| 手机root后有什么好处和坏处| 儿童干咳吃什么药| 6月11号是什么星座| ie是什么| 多梦是什么原因造成的| 为什么穿堂风最伤人| 蚕蛾吃什么| 2月18号什么星座| 前列腺炎什么症状| 吃什么可以增强记忆力| 曲苑杂坛为什么停播| 丙型肝炎病毒抗体阴性什么意思| 泡奶粉用什么水最好| 餐边柜放什么东西| 贫血吃什么可以补血| 幼儿急疹为什么不能碰水| 难受是什么意思| invent是什么意思| 四个又念什么| 胆囊壁增厚是什么意思| 什么叫体制内| 猴子尾巴的作用是什么| 傻瓜是什么生肖| 扑街是什么意思| 液蜡是什么| 鸡蛋清敷脸有什么好处和坏处| 胸闷要做什么检查| 白包是什么意思| 周岁什么意思| 小腿麻木是什么原因引起的| 开光什么意思| 张学良为什么不回大陆| 缺维生素a吃什么食物| 9月9日什么星座| 吃什么最补肾| 曼龙鱼能和什么鱼混养| tod是什么| 同事过生日送什么礼物| 刚拔完智齿可以吃什么| 羊宝是什么| 紫砂壶泡什么茶最好| 梦见自己尿裤子了是什么意思| 炼乳是什么做的| 婴儿什么时候会走路| rush什么意思| 尿蛋白阴性是什么意思| 1109是什么星座| 泄气的意思是什么| 51岁属什么| 庙是什么意思| 脑内多发缺血灶是什么意思| 老公生日送什么礼物好最合适| 铁娘子是什么意思| 心脏什么情况下需要支架| 什么鸟一生只有一个伴侣| 楚楚欲动是什么意思| 天蝎座后面是什么星座| 肩膀上的肌肉叫什么| 右后背疼什么原因| 梦见女尸是什么预兆| hbcab阳性是什么意思| 植鞣皮是什么皮| 燚是什么意思| 孕检唐筛是检查什么的| 五指毛桃长什么样子| 狗是什么时辰| 借你吉言是什么意思| 苍蝇是什么味道| 梦见前男友是什么意思| 讲述是什么意思| 户籍地址是什么意思| 百度

《水形物语》电影片段 敢爱敢恨“闺蜜日常”

百度 13、中央统战部统一领导国家民族事务委员会。

Ту?рбокод — параллельный каскадный систематический код, способный исправлять ошибки, возникающие при передаче цифровой информации по каналу связи с шумами. Синонимом турбокода является известный в теории кодирования термин — каскадный код (англ. concatenated code) (предложен Д. Форни в 1966 году).

Турбокод состоит из каскада параллельно соединённых систематических кодов. Эти составляющие называются компонентными кодами. В качестве компонентных кодов могут использоваться свёрточные коды, Код Хэмминга, код Рида — Соломона, код Боуза — Чоудхури — Хоквингема и другие. В зависимости от выбора компонентного кода турбокоды делятся на свёрточные турбокоды (англ. Turbo Convolutional Codes, ТСС) и блоковые коды-произведения (англ. Turbo Product Codes, TPC)[1].

Турбокоды были разработаны в 1993 году и являются классом высокоэффективных помехоустойчивых кодов с коррекцией ошибок, используются в электротехнике и цифровой связи, а также нашли своё применение в спутниковой связи и в других областях, в которых необходимо достижение максимальной скорости передачи данных по каналу связи с шумами в ограниченной полосе частот.

История

править

До момента возникновения турбокода был широко распространён метод каскадного кодирования, при котором данные кодировались сначала кодом Рида — Соломона, а затем свёрточным кодом. Он достаточно близко подходит к границе Шеннона и объединяет в себе блок коррекции ошибок, использующий код Рида — Соломона и блок свёрточных кодов, декодируемых с помощью алгоритма Витерби.

Турбокоды были предложены К. Берроу (C. Berrou), А. Главьё (A. Glavieux) и П. Ситимашимой (P. Thitimajshima) из (фр. école Nationale Supérieure des Télécommunications de Bretagne (ENST Bretagne), Высшая национальная школа телекоммуникаций Бретани (Франция)) в 1993 году в статье ?Кодирование и декодирование с исправлением ошибок вблизи предела Шеннона: турбокоды? (англ. ?Near Shannon Limit Error-correcting Coding and Decoding: Turbo-code?)[2], опубликованной в трудах IEEE. В последующей статье[3] Берроу отдаёт должное интуиции Г. Бэттэйла (G. Battail), Дж. Хагенауэра (J. Hagenauer) и П. Хёера (P. Hoeher), которые в конце 1980-х теоретически предсказали вероятностную обработку данных. Также Берроу упоминает, что Роберт Галлагер и М. Таннер (M. Tanner) ещё в своё время представляли методы кодирования и декодирования с общими принципами, очень близкими к турбокодам, но в то время не были доступны необходимые вычислительные возможности.

Структура турбокода

править

Особенностью турбокодов является параллельная структура, состоящая из рекурсивных систематических сверточных (RSC) кодов, работающих параллельно и использующих создание случайной версии сообщения. Параллельная структура использует два или больше кодов RSC, каждый с различным перемежителем. Цель перемежителя состоит в том, чтобы предложить каждому кодеру некоррелированную или случайную версию информации, в результате чего паритетные биты каждого RSC становятся независимыми.

В турбокодах блоки имеют длину порядка нескольких Кбит. Цель такой длины состоит в том, чтобы эффективно рандомизировать последовательность, идущую на второе кодирующее устройство. Чем длиннее размер блока, тем лучше его корреляция с сообщением первого кодера, то есть корреляция мала.

Существует несколько схем турбокодов:

  • PCCC — в случае конкатенации параллельных сверточных кодов
  • SCCC — схема с последовательным соединением сверточных кодов, коды SCCC имеют высокие характеристики при больших отношениях сигнал/шум
  • TPC — турбокод-произведение, использует блочные коды вместо сверточных; два различных блочных кода (обычно коды Хемминга) соединены последовательно без промежуточного перемежителя. Так как два кода независимы и работают в рядах и колонках, что само по себе обеспечивает достаточно хорошую рандомизацию, то применение перемежителя не требуется.

Кодирование

править
 
Рис.1 Общая структурная схема турбокодера

На рис. 1 представлена общая структурная схема M-блочного турбокодера.

Сначала на вход формирователя пакетов PAD (англ. Packet Assembler/Disassembler) поступает блок данных   длиной   бит. В формирователе пакетов к данным прибавляется ещё   дополнительных бит служебной информации, соответствующих используемому стандарту формирования пакета и включающих в себя символы его начала и окончания[4]. То есть получается пакет  , состоящий из   бит.

Далее последовательность бит   поступает параллельно на   ветвей, содержащих последовательно соединённые перемежитель и компонентный кодер. Таким образом,   используется в качестве входных данных сразу всеми компонентными кодерами.

Перемежение в турбокодах

править

В перемежителях по псевдослучайному закону происходит перемешивание поступающих бит. В отличие от посимвольного прямоугольного перемежителя, используемого в кодах Рида-Соломона, в турбокодах используется перемежение отдельных бит, которое подобно случайным перестановкам. Причём впоследствии, при операциях декодирования этот закон перемежения будет считаться известным. Полученные последовательности поступают на входы кодеров.

Задача перемежителя — преобразовать входную последовательность так, чтобы комбинации бит  , соответствующие кодовым словам с низким весом (весом называется число ненулевых бит кодового слова) на выходе первого кодера, были преобразованы в комбинации, дающие кодовые слова с высоким весом на выходах остальных кодеров. Таким образом кодеры получают на выходе кодовые слова с различными весами. При кодировании формируются кодовые слова так, чтобы получалось максимально возможное среднее расстояние между ними (расстоянием между двумя кодовыми словами называется число бит, в которых они различаются). Из-за того что кодовые блоки формируются из почти независимых частей, на выходе турбокодера среднее расстояние между кодовыми словами больше, чем минимальное расстояние для каждого компонентного кодера, а следовательно растёт эффективность кодирования.

Перестановка для каждой указанной длины блока   задается определенным переупорядочиванием целых чисел   как предусмотрено следующим алгоритмом (ECSS-E-ST-50-01C)[5].

 , где   одному из следующих значений :  ,  ,  ,  , в зависимости от необходимой глубины перемежителя

Следующие операции выполняются для значений от   до  , чтобы получить адреса перестановки  . В уравнениях ниже,   обозначает наибольшее целое число, меньше или равное  , и   обозначает одно из следующих четырёх простых чисел:        

 

 

 

 

 

 

Интерпретация перестановки чисел такова, что  -й бит, переданный перемежителем, является  -м битом входного информационного блока. Перемежитель осуществляет запись принятого бита по вычисленному адресу.

Кодовая скорость

править

Кодовая скорость — отношение длины кодового блока на входе к длине преобразованного кодового блока на выходе кодера.

В отсутствие перфоратора (см. рис. 1) исходная последовательность   мультиплексируется с последовательностями проверочных бит  , образуя кодовое слово, подлежащее передаче по каналу. Тогда значение кодовой скорости на выходе турбокодера

 

Для увеличения кодовой скорости применяется выкалывание (перфорация) определённых проверочных битов выходной последовательности. Таким образом кодовая скорость возрастает до

  , где  , причём   может быть дробным, если число оставшихся после перфорации проверочных бит не кратно  .

Если учесть, что турбокоды оперируют с блоками большой длины c  , то  , и кодовая скорость равна

 

Из приведённых формул видно, что с помощью перфоратора, выкалывая разное число проверочных бит, возможно регулирование кодовой скорости. То есть можно построить кодер, адаптирующийся к каналу связи. При сильном зашумлении канала перфоратор выкалывает меньше бит, чем вызывает уменьшение кодовой скорости и рост помехоустойчивости кодера. Если же канал связи хорошего качества, то выкалывать можно большое число бит, вызывая рост скорости передачи информации[6].

Декодирование

править

При осуществлении декодирования с исправлением ошибок существенен анализ априорной и апостериорной вероятностей прихода верного кодового слова. Априорной называется информация, которой обладает декодер до прихода кодового слова, а апостериорной называется информация, полученная после обработки кодового слова.

В своей работе Берроу предлагает для использования в турбодекодерах алгоритм максимума апостериорной вероятности (англ. Maximum of A-posteriori Probability, MAP), также известный под названием алгоритма Бала (Bahl — Cocke — Jelinek — Raviv (BCJR)). Алгоритм Бала дает ?мягкую? оценку достоверности декодированного бита. То есть предъявляет на выходе степень доверия результату декодирования. В противоположность ?жёсткой? структуре, при которой на выходе декодера формируется лишь наиболее вероятное значение декодированного бита (?0? или ?1?), при вынесении ?мягкого? решения используется более подробная дискретизация выходного сигнала, характеризующая вероятность корректного приема бита. Благодаря использованию ?мягких? решений в турбодекодерах оказывается эффективным использование нескольких итераций декодирования. Апостериорная информация, полученная о кодовом слове на выходе первой итерации декодирования, поступает на вход блока следующей итерации и является для него уже априорной вероятностью. Такой подход позволяет улучшать качество декодирования от итерации к итерации. Таким образом, изменяя число итераций декодирования, можно адаптировать декодер к текущему состоянию канала передачи и достичь требуемой вероятности ошибки на бит[6].

Рассмотрим информационный бит как бинарную переменную  , то есть — значение   в момент времени  . Его логарифмическое отношение правдоподобия (LLR) определено как логарифм отношения его основных вероятностей.

 

Эта метрика используется в большинстве систем исправления ошибок с помощью помехоустойчивого кодирования и называется логарифмическим отношением правдоподобия или LLR. Она немного лучше, чем линейная метрика, так как, например, логарифм облегчает обработку очень маленьких и очень больших значений. Если вероятности приёма ?0? и ?1? равны, метрика равна 0.

Одна итерация итеративного турбодекодера при двухкаскадном кодировании

править
 
Рис. 2 Вариант построения одной итерации итеративного турбодекодера при двухкаскадном кодировании

На рис. 2 для простоты понимания представлен вариант схемы одной итерации турбодекодирования при двухкаскадном кодировании. Эта схема несложно обобщается на случай произвольного количества каскадов кодирования.

Декодер для одной итерации содержит каскадное соединение двух элементарных декодеров, каждый из которых, основываясь на критерии максимума апостериорной вероятности, выносит ?мягкое? решение о переданном символе. На первый декодер первой итерации с выхода демодулятора поступают ?мягкие? решения символов последовательностей   и  . Таким образом на выходе первого декодера появляется оценка информационного символа, которая после последующего перемежения попадает на вход второго декодера и является для него априорной информацией. Используя ?мягкое? решение о последовательности  , второй декодер формирует свою оценку[7]

Трёхитерационный турбодекодер при двухкаскадном кодировании

править
 
Рис. 3 Вариант построения трёхитерационного турбодекодера при двухкаскадном кодировании

С выхода каждой итерации решение переходит на вход следующей. Организация работы трёхитерационного турбодекодера показана на рис. 3. От итерации к итерации происходит уточнение решения. При этом каждая итерация работает с ?мягкими? оценками и на выход отдает также ?мягкие?. Поэтому такие схемы получили название декодеров с мягким входом и мягким выходом (англ. Soft Input Soft Output (SISO))[8]. Процесс декодирования прекращается либо после выполнения всех итераций, либо когда вероятность ошибки на бит достигнет требуемого значения. После декодирования из полученного ?мягкого? решения производится окончательное ?жёсткое?[7].

Преимущества и недостатки турбокодов

править

Преимущества

править

Среди всех практически используемых современных методов коррекции ошибок турбокоды и коды с низкой плотностью проверок на чётность наиболее близко подходят к границе Шеннона, теоретическому пределу максимальной пропускной способности зашумленного канала. Турбокоды позволяют увеличить скорость передачи информации, не требуя увеличения мощности передатчика, или они могут быть использованы для уменьшения требуемой мощности при передаче с заданной скоростью. Важным преимуществом турбокодов является независимость сложности декодирования от длины информационного блока, что позволяет снизить вероятность ошибки декодирования путём увеличения его длины[9].

Недостатки

править

Основной недостаток турбокодов — это относительно высокая сложность декодирования и большая задержка, которые делают их неудобными для некоторых применений. Но, например, для использования в спутниковых каналах этот недостаток не является определяющим, так как длина канала связи сама по себе вносит задержку, вызванную конечностью скорости света.

Ещё один важный недостаток турбокодов — сравнительно небольшое кодовое расстояние (то есть минимальное расстояние между двумя кодовыми словами в смысле выбранной метрики). Это приводит к тому, что, хотя при большой входной вероятности ошибки (то есть в плохом канале) эффективность турбокода высока, при малой входной вероятности ошибки эффективность турбокода крайне ограничена.[10] Поэтому в хороших каналах для дальнейшего уменьшения вероятности ошибки применяют не турбокоды, а LDPC-коды.

Хотя сложность используемых алгоритмов турбокодирования и недостаток открытого программного обеспечения препятствуют внедрению турбокодов, в настоящее время многие современные системы используют турбокоды.

Применение турбокодов

править

Компании France Télécom и Telediffusion de France запатентовали широкий класс турбокодов, что ограничивает возможность их свободного применения и, в то же время, стимулирует развитие новых методов кодирования таких, как, например, LDPC.

Турбокоды активно применяются в системах спутниковой и мобильной связи, беспроводного широкополосного доступа и цифрового телевидения.[8] Турбокоды утверждены в стандарте спутниковой связи DVB-RCS. Турбокоды также нашли широкое применение в мобильных системах связи третьего поколения (стандарты CDMA2000 и UMTS).[9]

Примечания

править
  1. Золотарёв В. В., Овечкин Г. В., Овечкин П. В. Многопороговое декодирование для цифровых систем передачи данных. Дата обращения: 21 ноября 2008. Архивировано 30 января 2012 года.
  2. Berrou C., Glavieux A., Thitmajshima P. Near Shannon Limit error-correcting coding and decoding: Turbo-codes (англ.) (1993). Дата обращения: 21 ноября 2008. Архивировано 30 января 2012 года.
  3. Berrou C. Ten-year-old Turbo Codes are Entering Service (англ.) (2003). Дата обращения: 21 ноября 2008. Архивировано 30 января 2012 года.
  4. Семенов Ю. А. Протоколы сетей X.25. Дата обращения: 23 ноября 2008. Архивировано 13 октября 2011 года.
  5. ECSS-E-ST-50-01C (англ.). Архивировано 30 января 2012 года.
  6. 1 2 Зубарев Ю. Б., Кривошеев М. И., Красносельский И. Н. Цифровое телевизионное вещание. Основы, методы, системы. — М.: Научно-исследовательский институт радио (НИИР), 2001. — P. 112—120.
  7. 1 2 . Комаров С. В., Постников С. А., Левшин В. И., Дремачев Д. В., Артемьев Н. В. Применение турбокодов в мультимедийных системах связи третьего поколения : Сборник статей. Теория и техника радиосвязи. — 2003. — P. 112—119.
  8. 1 2 Архипкин А. Турбокоды - мощные алгоритмы для современных систем связи (Журнал. Беспроводные технологии) (2006). Дата обращения: 21 ноября 2008. Архивировано 30 января 2012 года.
  9. 1 2 Варгаузин В., Протопопов Л. Турбокоды и итеративное декодирование: принципы, свойства, применение (2000). Дата обращения: 21 ноября 2008. Архивировано 4 марта 2016 года.
  10. Moon, Todd K. Error correction coding: mathematical methods and algorithms. — John Wiley & Sons, 2005. — page 612.

См. также

править
杨梅酒喝了有什么好处和功效 泞字五行属什么 大致是什么意思 彩礼什么时候给女方 时点是什么意思
仓鼠吃什么食物 吃什么药通气放屁最快 称心如意是什么意思 为什么明星都不戴黄金 四物汤什么时候喝最好
肾结石可以吃什么水果 什么去火效果最好 回家心切什么意思 备孕吃什么叶酸 不是省油的灯是什么意思
梦见好多猪肉是什么意思 扁桃体肥大有什么影响 灰指甲是什么症状 结膜炎吃什么消炎药 张三李四王五赵六后面是什么
la帽子是什么牌子ff14chat.com 梦见筷子是什么预兆hcv7jop6ns3r.cn 肌酐低是什么意思hcv7jop9ns3r.cn 黑枸杞有什么功效hcv9jop0ns8r.cn 香菜炒什么好吃hcv9jop3ns9r.cn
孩子说话晚是什么原因hcv8jop0ns4r.cn 内什么外什么成语hcv9jop2ns5r.cn 腋下副乳有什么危害吗hcv8jop8ns5r.cn 肌酐低是什么意思hcv8jop9ns4r.cn 尤文氏肉瘤是什么病hcv7jop5ns5r.cn
什么是导管hcv9jop5ns6r.cn 什么是个性hcv9jop7ns1r.cn 心胆气虚吃什么中成药zhongyiyatai.com 中国四大国粹是什么hcv7jop5ns1r.cn 经常腿抽筋是什么原因jinxinzhichuang.com
筛窦炎吃什么药hcv7jop4ns5r.cn 眼压高有什么症状hcv7jop5ns2r.cn 岩茶属于什么茶hcv7jop5ns6r.cn 热爱是什么意思hcv8jop9ns9r.cn 彩虹为什么有七种颜色huizhijixie.com
百度