精华内容
下载资源
问答
  • and we do not understand the characteristics of networks trained specifically for place recognition and how they are different to networks trained for other tasks. 我们不知道专门为地点识别任务训练...

    本博客仅为作者记笔记之用,不对之处,望见谅,欢迎批评指正。
    更多相关博客请查阅:http://blog.csdn.net/weixin_39779106
    如需转载,请附上本文链接:http://blog.csdn.net/weixin_39779106/article/details/79028988

    原论文链接

    一、摘要

    这里写图片描述

    原文摘要

    原文摘要翻译
    In this paper, we train, at large scale, two CNN architectures for the specific place recognition task and employ a multi-scale feature encoding method to generate condition- and viewpoint-invariant features.本文针对地点识别问题,训练了两个大规模CNN网络,并采用多尺度特征编码方法生成了具有条件和视角不变性的特征。
    To enable this training to occur, we have developed a massive Specific PlacEs Dataset (SPED) with hundreds of examples of place appearance change at thousands of different places, as opposed to the semantic place type datasets currently available.为了训练专门用于地点识别的网络,我们开发了一个庞大的数据集(SPED),该数据集包含了数千个不同地点的数以百计不同环境外观的例子,但与当前用与的语义地点分类的数据集不同。
    We comprehensively evaluate our trained networks on several challenging benchmark place recognition datasets and demonstrate that they achieve an average 10% increase in performance over other place recognition algorithms and pre-trained CNNs.我们对提出的网络在几个具有挑战性的数据集上的进行了测试,实验证明本文所提出的网络比其他地方识别算法和预先训练的CNN网络的性能平均提高了10%。

    详解:

    1. 这是本文作者第二次发表用于地点识别的深度学习CNN。前一篇论文解读详见:Convolutional Neural Network-based Place Recognition 基于卷积神经网络的地点识别算法
    2. 本文首次公开了专门用于地点识别的庞大数据集SPED(250万张图片)。在训练样本如此宝贵的今天,这是十分难得的。

    二、介绍

    这里写图片描述

    原文摘要

    原文摘要翻译
    However, the task of scene recognition is different from place recognition; images under the same scene category can come from different places. Specific place recognition is the key component of loop closure in the vast majority of mapping and localization systems.地点识别与场景识别不同, 同一场景类别的图片可能来自不同的地点。 在绝大多数测绘和定位系统中,地点识别是闭环检测的关键组成部分。

    这里写图片描述

    原文摘要翻译
    we do not know what training deep networks specifically for the task of place recognition will yield; we do not have place recognition datasets of sufficient scale with which to properly investigate this question; and we do not understand the characteristics of networks trained specifically for place recognition and how they are different to networks trained for other tasks.我们不知道专门为地点识别任务训练的深度网络会产生什么; 我们没有足够规模的地点识别数据集来对这个问题进行研究; 而且我们不了解专门的地点识别网络应具有哪些特性,与其他网络有何不同。
    The multiple exemplars of each place enables us to cast the place recognition problem as a classification problem.同一个地方有多个实例,让我们能够把地点识别当作一个分类问题。
    visualizing the CNN layers’ responses, we illustrate the differences in the internal representation of a network trained specifically for place recognition versus other recognition tasks.将网络每一层相应进行可视化,这样可以展示专门用于地点识别的网络的内部表征与其他识别任务的区别。

    详解

    1. 首先惯例与基于局部视觉特征的FAB-MAP以及著名的Seq-SLAM进行比较,说明目前基于深度学习的地点识别算法是性能最好的。
    2. 解释地点识别与场景识别的区别,同一场景类别的图片可能来自不同的地点,如:A城的街道和B城的街道场景类别都是街道,但并不是同一地点。
    3. 提出目前基于CNN的地点识别存在的三大问题:1)不知道网络产生的是什么结果;2)没有足够的数据进行研究;3)不知道网络特性。作者在文中一一进行了解答,针对问题1),实际上在上一点中已经说明了,地点识别网络最终产生的结果将是没有具体地点的类别(分类问题);针对问题2),作者自己做了一个包含200万张图片的数据集对地点识别网络进行训练;针对问题3),作者将地点识别网络的每一层进行可视化,来探究其特性。

    三、研究背景

    略…

    四、地点识别网络的训练

    这里写图片描述

    展开全文
  • 恢复精神 Reviving Reviving the stalled economy and sticking to promises to bring the deficit down next year is proving to be the principal test for the new president. 复苏停滞的经济,并坚持承诺明年将...
     
    

    以下是我期末复习整理部分单元的题目的翻译:
    第3版新视野大学英语4读写教程
    Unit 1、2、3、5、6 Section A word in use 和Section B Sentence structure 部分的翻译

    Unit 1 A

    Text A: Words in use

    1. crumbled
      crumble 英/'krʌmb(ə)l/ vi. 崩溃,瓦解,消失
      As the gender barriers crumbled, the number of women working as lawyers, doctors, or bankers began to increase significantly from the mid-20th century.
      随着性别障碍的瓦解,从20世纪中期开始,从事律师、医生或银行家工作的女性数量开始显著增加。
    2. discern 英/dɪ’sɜːn/ vt. 看出,觉察出,辨明
      With the data collected each year, the owner of the shop can discern customer trends and how things like weather and economic indicators affect sales performance.
      通过每年收集的数据,店主可以了解顾客的趋势,以及天气、经济指标之类的事物对销售业绩的影响。
    3. surpass 英/sə’pɑːs/ vt. 超过,胜过
      His supervisor pushes and motivates him in such a positive manner that he is not only able to reach but to surpass his personal goals.
      他的上司以这样一种积极的方式推动和激励他,使他不仅能够达到而且能够超越自己的目标。
      supervisor 英/'suːpəvaɪzə;'sjuː/ n. 监督人,指导者;[管理] 管理人;检查员
    4. shrewd 英/ʃ ruː d/ a. 精明的,机敏的,准确的,英明的
      He is a man with a shrewd business sense. He has built his initial investment into a substantial and even excessively large fortune.
      他是个精明的生意人。他把最初的投资变成了一笔可观的、甚至是巨额的财富。
    5. conversion 英/ kən’vɜːʃ(ə) n/ n. 转变,改造,转换
      The conversion of nuclear radiation directly into electricity was an exciting possibility that was being vigorously explored in many laboratories in the 1950s.
      将核辐射直接转化为电能是20世纪50年代许多实验室正在积极探索的一种令人兴奋的可能性。
    6. distort 英/dɪ’stɔːt/ vt. 歪曲,曲解
      I was not only shocked but also disgusted that the report tried to distort the scientific facts in such a manner that even some highly-educated people were fooled.
      我不仅感到震惊,而且感到恶心,因为这份报告试图歪曲科学事实,甚至一些受过高等教育的人也被愚弄了。
    7. radiant 英/'reɪdɪənt/ a. 容光焕发的,喜悦的
      Sixty-two and blessed with his mother’s skin, the fisherman had withstood a lifetime of exposure to the sun and looked as radiant as a man in his forties.
      62岁的渔夫拥有母亲的皮肤,他一生都经受住了日晒,看上去像一个四十多岁的男人一样容光焕发。
    8. ingenious 英 /ɪn’dʒiːnɪəs/ a. 有独创性的,别出心裁的,构思巧妙的
      French educator Louis Braille invented a simple but ingenious code which has had an impact on the lives of generations of people who are blind.
      法国教育家路易斯·布莱叶发明了一种简单而巧妙的密码,这种密码对几代盲人的生活产生了影响。
    9. stumped
      stump 英 /stʌmp/ v. 使困惑,难倒
      The senators didn’t expect us to ask such tough questions, and when we finally did, they got stumped and didn’t know what to say.
      参议员们没想到我们会问这么棘手的问题,当我们终于提出时,他们被难住了,不知该说些什么。
    10. proposition 英 /prɒpə’zɪʃ(ə)n/ n. 提议,建议,主张,观点,看法
      This newly established university supports the proposition that a more diverse higher education system is desirable since it would enhance opportunities for lifelong learning.
      这所新成立的大学支持这样的观点:更多样化的高等教育体系是可取的,因为它将增加终身学习的机会。

    Unit 1 B

    Sentence structure

    1. These reports differ from his earlier work in that they offer solutions to public pension problems.
      这些报告不同于他早期的工作,因为它们为公共养老金问题提供了解决方案。
    2. These forums are unique in that they provide a venue for those with varying perspectives to have an open and honest dialog.
      这些论坛的独特之处在于,它们为不同观点的人提供了一个公开和诚实对话的场所。
      venue 英 /'venjuː/ n. 聚会地点;举行场所;犯罪地点;发生地点;(英格兰律)审判地(指郡或区)
    3. Social support has been found to act as a stress reducer in that it protects people in crisis from both physical and psychological problems.
      社会支持被发现是一种减压的方法,因为它可以保护处于危机中的人们免受身体和心理问题的伤害。

    Unit 2 A

    Text A: Words in use

    1. deficient 英 /dɪ’fɪʃ(ə)nt/ a.不足的,有缺陷的,缺乏的,不足的。
      We need to improve the quality of education so that our children will not leave school deficient in literary and reasoning skills.
      我们需要提高教育质量,使我们的孩子不会离开缺乏文学和推理技能的学校。
    2. prosecution 英 /prɒsɪ’kjuːʃ(ə)n/ n. 起诉,指控
      In a society governed by the rule of law,every citizen is subject to possible prosecution if he violates the law.
      在一个由法治的社会,每个公民都可能受到起诉,如果他违反了法律。
    3. outrage 英 /'aʊtreɪdʒ/ n.义愤,愤慨,震怒
      The pay gap between average workers and top corporate officers has led to pubic outrage as executives receive large packages despite falling share prices.
      普通员工与企业高管之间的薪酬差距,已引发公众的愤怒,因为尽管股价不断下跌,高管们仍能拿到巨额薪酬。
    4. appeased
      appease 英 /ə’piːz/ vt. 平息,安抚,抚慰
      The delicious meal appeased our hunger and made us feel warm again after having walked in the snow all day.
      这顿美餐使我们的饥饿感减轻了,让我们在雪中走了一整天后又感到温暖。
    5. conformity 英 /kən’fɔːmɪtɪ/ n. 遵守;符合;一致;
      The military insists on conformity in many areas,for example, dress and haircut,with the primary objective of promoting group unity.
      军方坚持整合在许多领域,例如,服装和发型,促进集团统一的主要目标。
    6. strand 英 /strænd/ n. (线、绳、头发等的)股,缕
      My daughter used to play with the dog by taking a strand of its hair and then spending a long time rubbing, combing and twisting it.
      我女儿过去常和这只狗玩耍,把它的一缕头发剪下来,然后花很长时间揉搓、梳理和捻。
    7. complement 英 /'kɒmplɪm(ə)nt/ vt. 与……相配,与……互补
      When she left for the party,she took great care to make her necklace and shoes complement her dress.
      当她动身去聚会时,她非常认真地去试图把她的项链和鞋子与她的衣服配套起来。
    8. transient 英 /'trænzɪənt/ a. 短暂的,临时的
      It was necessary to provide living places for transient immigrants passing through the area on their way to more permanent dwellings.
      有必要为经过这一地区前往更永久住所的临时移民提供居住场所。
    9. appliance /əˈplaɪəns/ n. 家用电器
      appliances
      They had just moved in,so they needed to buy a number of kitchen appliances, including a microwave oven, a toaster,and a coffee maker.
      他们刚刚搬进来的,所以他们需要购买一些厨房电器,包括微波炉,烤面包机,咖啡机。
    10. outfit /ˈaʊtfɪt/ n. (尤指在特殊场合穿的)全套服装
      She wanted a beautiful and elegant outfit to attend the wedding of a friend, but couldn’t find anything satisfactory in the nearby shops.
      她想要一套漂亮雅致的衣服去参加一个朋友的婚礼,但在附近的商店里找不到满意的东西。

    Unit 2 B

    Sentence structure

    1. What they were worried about was more than just the cost of the machine itself. It would be expensive to keep it up too.
      他们不仅担心购买机器本身的成本,也担心维护起来机器会很昂贵。
    2. The island is more than just a place to visit for fun. It is also a center of the shipbuilding industry in this region.
      这个岛不仅是一个好玩的地方,也是该地区造船业的中心。
    3. For me and the kids, Mother Earth News is more than just a magazine that introduces various kinds of healthy diets; it is a friend who gives us comfort!
      对我和孩子们来说,地球母亲新闻不仅仅是一本介绍各种健康饮食的杂志;也是能给我们安慰的朋友!

    Unit 3 A

    Text A: Words in use

    1. exquisite 英 /'ekskwɪzɪt; ɪk’skwɪzɪt; ek-/ a. 精致的,精美的
      The curtains changed the atmosphere of the house completely and made it into a place of exquisite beauty.
      窗帘完全改变了房子的气氛,使它成为一个优美的地方。
    2. disperse 英 /dɪ’spɜːs/ v. (使)分散,驱散
      dispersed
      As the sun dispersed the clouds, we enjoyed our afternoon of playing cards in the forest under the clear sky and observing the most spectacular view I have ever seen in my life.
      当太阳驱散乌云时,我们在晴朗的天空下的森林里打牌,欣赏着我从未见过的最壮观的景色。
    3. decentralize 英 /di:'sentrə’laɪz/ v. (使)(政府、组织等的部门)分散
      decentralized
      The big company decentralized their operations last year and opened several regional offices in the country to meet the needs of the market.
      这家大公司去年分散了业务,并在该国开设了几个地区办事处,以满足市场的需要。
    4. deduce /dɪ’djuːs/ vt. 推论,推断;演绎出
      It is not easy to deduce a trend of growth from the available facts since they are quite scarce and not that convincing.
      从现有的事实推断增长趋势是不容易的,因为它们非常稀少,也没有那么令人信服。
      scarce /skeəs/adj. 缺乏的,不足的;稀有的
    5. fixture /'fɪkstʃə; -tjə/ n. 设备;固定装置;固定于某处不大可能移动之物
      Formerly found only in large industrial applications, microwave ovens now have become a standard fixture of most modern kitchens.
      以前只在大型工业应用中被发现,现在微波炉已经成为大多数现代厨房的标准设备。
    6. frugality /fruː’gælɪtɪ/ n. 俭省,节俭
      He calls on the public to save in everyday life and believes that frugality is the key to battling a culture that rewards mindless consumption.
      他呼吁公众在日常生活中储蓄,并相信节俭是对抗鼓励盲目消费的文化的关键。
    7. administrate /əd’mɪnɪstreɪt/ vt. 管理;经营,实施
      He is suitable for the position as he is young enough to understand what the teenagers think but old enough to administrate their programs.
      他很适合这个职位,因为他足够年轻,能够理解青少年的想法,但足够成熟,能够管理他们的项目。
    8. disjointed /dɪs’dʒɒɪntɪd/ adj. 脱节的;杂乱的;脱臼的
      When asked about her whereabouts at 9 o’clock that night, she gave a rather disjointed response, which caught the detective’s attention.
      当被问及那天晚上9点她在哪里时,她回答得相当不连贯,引起了侦探的注意。
    9. revive /rɪ’vaɪv/ vi. 复兴;复活;苏醒;恢复精神
      Reviving
      Reviving the stalled economy and sticking to promises to bring the deficit down next year is proving to be the principal test for the new president.
      复苏停滞的经济,并坚持承诺明年将削减赤字,这将成为新总统的主要考验。
      stall vi. 停止,停转;拖延
    10. elapse /ɪ’læps/ vi. 消逝;时间过去
      A considerable period of time has to elapse before the effects of such security measures as closed-circuit television cameras and cell-phone monitoring become evident in reducing crimes.
      闭路电视摄像机和手机监控等安全措施在减少犯罪方面的效果还需要相当长一段时间才能显现出来。

    Unit 3 B

    Sentence structure

    1. If he goes on taking ererything passively like this, he will never be confident enough to say NO to those kids who are fond of teasing him.
      如果他继续这样被动地接受一切,他将永远不会有足够的信心对那些喜欢戏弄他的孩子说不。
      tease /tiːz/ vt. 取笑;戏弄;梳理;欺负;强求;使起毛
    2. I know I’m already 80, but with a heart like mine, I will never be old enough to stop laughing at funny words.
      我知道我已经80岁了,但是有一颗像我这样的心,我永远不会老到停止对有趣的话发笑的地步。
    3. Although I was never fortunate/lucky enough to meet your grandmother, I’ve enjoyed hearing you tell stories about her and seeing your face light up when talking about her.
      虽然我从未有幸见到你的祖母,但我很高兴听到你讲述她的故事,看到你谈起她时面露喜色。

    Unit 5 A

    Text A: Words in use

    1. fabricate /'fæbrɪkeɪt/ vt. 制造;伪造;装配
      Although he was not a legal expert, he knew it would not be proper to fabricate anything to mislead the public.
      虽然他不是法律专家,但他知道编造任何误导公众的东西都是不恰当的。

    2. nominal [ˈnɒmɪnl] adj. 名义上的; 微不足道的; 票面上的;
      He does not work full time there, but he has been the nominal head of the organization’s scholarship program for five years.
      他没有在那里全职工作,但他已经担任该组织奖学金项目的名义负责人五年了。

    3. temporal [ˈtempərəl] adj. 时间的; 世俗的; 暂存的;
      As Mark walked the sites on that initial trip of the migrants, he found some important temporal clues — dated bus tickets, shopping receipts and calendars.
      当马克在最初的移民之旅中走访这些网站时,他发现了一些重要的时间线索——注明日期的公共汽车票、购物收据和日历。

    4. reciprocal /rɪ’sɪprək(ə)l/ adj. 互惠的;相互的;倒数的,彼此相反的
      In urban planning, it is important to take into consideration the reciprocal influence between the transportation network and other facilities, for example shopping centers and medical centers.
      在城市规划中,重要的是考虑交通网络和其他设施之间的相互影响,如购物中心和医疗中心。

    5. denote /dɪ’nəʊt/ vt. 表示,指示
      denotes
      The label “Smart Choices” on the front of food packages usually denotes products that meet criteria for lower fat, sugar and sodium (钠) content.
      食品包装正面的“明智选择”标签通常表示产品符合低脂肪、低糖和低钠的标准。
      criteria /kraɪ’tɪərɪə/ n. 标准,条件
      sodium /'səʊdɪəm/
      content /kən’tent/ n. 内容,目录;满足;容量

    6. consecutive /kən’sekjʊtɪv/ adj. 连贯的;连续不断的
      The public high school graduation rates in New Mexico and Arizona have been increasing for three consecutive years, thanks to an online program that helps students earn missing credits.
      新墨西哥州和亚利桑那州的公立高中毕业率已经连续三年上升,这要归功于一个在线项目,该项目帮助学生获得缺失的学分。

    7. spectator /spek’teɪtə/ n. 观众;旁观者
      spectators
      In the accident at the air show last week, a pilot and 10 spectators were killed when a fighter plane crashed into the crowd.
      在上周航空展的事故中,一架战斗机撞向人群,造成一名飞行员和10名观众死亡。
      pilot /'paɪlət/ n. 飞行员;领航员

    8. muttering /'mʌtərɪŋ/ n. 独自怨言,喃喃自语
      The mother was not sure where the boys went, but she did hear them muttering something about going out for a movie with friends.
      母亲不知道男孩们去了哪里,但她听到他们嘀咕着要和朋友出去看电影。

    9. composite /'kɒmpəzɪt/ adj. 复合的,合成的;(火车车厢)综合的;(柱式)混合的;菊科的
      This newly released portrait of Planet Earth is actually a composite of several pictures taken earlier this month by a new research satellite.
      这张最新发布的地球照片实际上是本月早些时候由一颗新的研究卫星拍摄的几张照片的合成。

    10. malicious /mə’lɪʃəs/ adj. 恶意的;恶毒的;蓄意的;怀恨的
      You shouldn’t feel insulted. We can assure you he meant to be friendly and there was nothing impolite or malicious in his words.
      你不应该感到受侮辱。我们可以向你保证,他的本意是友好的,他的话中没有任何不礼貌或恶意。

    Unit 5 B

    Sentence structure

    1. If we have enough oil in our own country, why import a large amount from somewhere else every year?
      如果我们自己的国家有足够的石油,为什么每年要从其他地方进口大量的石油呢?
    2. Since video communication through the Internet is convenient, why a time-consuming and expensive flight trip to attend the conference/meeting?
      既然通过互联网进行视频通讯很方便,为什么要花费大量的时间和金钱去乘机票参加会议呢?
    3. Why at a crowded bar so far from home? We can just meet at a restaurant close to where we live.
      为什么要在离家这么远的拥挤的酒吧里呢?我们可以在离我们住处很近的餐馆见面。

    Unit 6 A

    Text A: Words in use

    1. alien /'eɪlɪən/ adj. 外国的;相异的,性质不同的;不相容的;陌生的
      When I first came to this city, everything was alien to me. It took me a long time to adjust myself to the new environment.
      当我第一次来到这座城市时,一切对我来说都是陌生的。我花了很长时间来适应新环境。
    2. optic /'ɒptɪk/ adj. 光学的;视觉的;眼睛的
      Something growing in her brain caused damage to her optic nerve, and doctors thought she would never see again.
      她大脑中生长的一些东西对她的视神经造成了损伤,医生认为她再也见不到东西了。
    3. symmetrical /sɪ’metrɪk(ə)l/ adj. 匀称的,对称的
      The front side of the house has a symmetrical arrangement of windows and door and two windows on each side.
      房子的正面有对称的窗户和门,每一面都有两扇窗户。
    4. lubricate /'luːbrɪkeɪt/ vi. 润滑;涂油;起润滑剂作用
      lubricated
      He cleaned the old machine and lubricated the moving parts with a little mineral oil, hoping that it could work again.
      他清洗了那台旧机器,并用一点矿物油给活动部件上了润滑油,希望它能再次运转。
    5. twinkled
      twinkle /'twɪŋk(ə)l/ v. 闪烁;(眼睛)闪亮,闪闪发光;发亮;轻快移动
      We could tell it was a crisp winter night because, overhead, between the shadows of the buildings, a multitude of stars twinkled.
      我们可以看出这是一个清爽的冬夜,因为头顶上,在建筑物的阴影之间,闪烁着许多星星。
    6. mediator /'miːdɪeɪtə/ n. 调停者;传递者;中介物
      During his work on child protection, he often acts as a mediator between parents and children, making the parents know what they can do and what they cannot do.
      在他的儿童保护工作中,他经常充当父母和孩子之间的调解人,让父母知道他们能做什么和不能做什么。
    7. outpost /'aʊt,post/ n. 前哨;警戒部队;边区村落
      outposts
      Due to safety concerns, the commander ordered his troops to leave their outposts in the mountains and return to their bases in the nearby village.
      出于安全考虑,指挥官命令他的部队离开山区的前哨,返回附近村庄的基地。
    8. traverse /'trævəs; trə’vɜːs/ v. 穿过;来回移动;反驳;阻挠;详细研究;旋转
      traversing
      It’s exciting to travel to a foreign place, no matter whether you’re traversing the wilds of Africa or just making a weekend trip to the countryside.
      到国外旅行是令人兴奋的,不管你是在穿越非洲的荒野,还是只是周末去乡下旅行。
    9. emancipate /ɪ’mænsɪpeɪt/ vt. 解放;释放
      In the 1970s, a number of countries passed laws to protect women’s rights, announcing that they would emancipate women through education and work.
      20世纪70年代,一些国家通过了保护妇女权利的法律,宣布将通过教育和工作解放妇女。
    10. deductive /dɪ’dʌktɪv/ adj. 演绎的;推论的;推断的
      The basic idea of deductive reasoning is that if something is true of a class of things in general, this truth applies to all members of that class.
      演绎推理的基本思想是,如果某件事对某一类事物是真实的,那么这个真理适用于这类事物的所有成员。

    Unit 6 B

    Sentence structure

    1. Her parents could no more persuade her to study maths than they could persuade her to stop wearing skirts and makeup.
      她的父母无法说服她学习数学,就像他们无法说服她停止穿裙子和化妆一样。
    2. I would no more believe any word he said than I would allow myself to be bitten by the same snake twice.
      我不会相信他说的任何话,就像我不会让自己被同一条蛇咬两次一样。
    3. He would no more dare speak before a large audience than he would dare jump off the top of a 20-story building.
      他不敢在一大群观众面前讲话,就像他不敢从20层楼高的楼顶跳下去一样。
    展开全文
  • Failed to read artifact descriptor for xxx:jar的问题解决 在开发的过程中,尤其是新手,我们经常遇到Maven下载依赖jar包的问题,也就是遇到“Failed to read artifact descriptor for xxx:jar”的错误。 其实遇到...

    Failed to read artifact descriptor for xxx:jar的问题解决

    在开发的过程中,尤其是新手,我们经常遇到Maven下载依赖jar包的问题,也就是遇到“Failed to read artifact descriptor for xxx:jar”的错误。

    其实遇到“Failed to read artifact descriptor for xxx:jar”的报错,就是jar包下载失败而导致的,重新下载jar包和各种依赖的方式(maven仓库)可参考链接https://my.oschina.net/kuchawyz/blog/3060282

    如果以上还不能解决出现的问题,那么就很有可能是网络问题
    小编用的是校园网,使用极路由配置WiFi,由于一些未知原因,导致网络出现各种未知问题例如:小编新建maven项目是可以的,但是新建spring boot项目就出现各种插件下载报错,打开本地仓库,查看各插件的lastUpdateed.properties文件,显示阿里云下载失败(小编maven仓库配置下载地点是阿里云),后来小编改用其他网络,现在能够正常新建项目了,可喜可贺。

    展开全文
  • 加扰同样采用点乘,输入码元1:1地点乘加扰码。 因为加扰码具有很高的自相关性,所以去扰时只需执行加扰时一样的操作即可。 加扰原理图 调制解调部分 调制采用BPSK(二进制移相键控)调制。 调制所使用的载波为正弦波...

    前言

    直接扩频序列调制是用速率很高的伪噪声码序列与信息码序列模二相加(波形相乘)后得到复合码序列,用复合码序列去控制载波相位,从而获得直接扩频序列信号的。直接扩频通信具有低截获概率、抗干扰能力强以及易于实现码分多址等优点,在抗干扰通信及民用移动通信中都得到了广泛的应用。

    文章迭代更新

    文章进行了大改
    发现了为什么振幅是0.2和0.4时,系统无法正常工作的原因。因为bitMultiple函数把运算结果格式转换成了int8,导致精度大量失真!当时转换格式是为内存空间与运行速度做打算,结果今天发现做了负优化!修改后,发现载波振幅对于系统的误码率曲线几乎无影响。
    另外,解调函数也做了修改,会根据输入自动计算判决阈值,解决了之前人为设定阈值
    的局限,阈值采用正态分布解算法,详见demodulate函数内注释。
    新版修改了以下函数:
    1. bitMultiple
    2. demodulate
    3. 新增arrayGroupSum函数

    仿真流程图

    用户1
    扩频
    加扰
    调制
    高斯信道
    walsh码
    扩频
    M序列
    加扰
    载波
    调制
    高斯白噪声
    高斯信道
    用户2
    相加
    解调
    去扰
    用户1解扩
    用户2解扩
    还原信号1
    还原信号2

    关键技术细节

    1. 仿真中,用户码元使用双极性(1和-1)码。
    2. 代码的最后通过还原信号与码元做对比,计算误码率,来评价通信质量的好坏。
    3. 为了研究信噪比对误码率的影响,代码中用了多线程,针对不同的信噪比进行解调去扰解扩,计算不同信噪比下的误码率。
    4. 为了研究载波振幅对信噪比——误码率曲线的影响,增加了振幅的迭代。

    扩频解扰解扩部分

    1. 采用64阶的walsh码矩阵,由walsh函数产生。
    2. 两个用户使用同一扩频矩阵的不同相位(实际上是不同一行)进行扩频。
    3. 扩频时,首先对用户码元按照扩频增益,进行周期延拓,然后点乘扩频码,实现扩频。
    4. 解扩时,首先对输入的去扰后的码按扩频时一样的相位对应点乘扩频码,然后进行判决。

    加扰去扰部分

    1. 加扰采用的是5阶的M序列,反馈系数为67(八进制)。
    2. 加扰同样采用点乘,输入码元1:1地点乘加扰码。
    3. 因为加扰码具有很高的自相关性,所以去扰时只需执行加扰时一样的操作即可。

    加扰原理图

    加扰原理图

    调制解调部分

    1. 调制采用BPSK(二进制移相键控)调制。
    2. 调制所使用的载波为正弦波,通过对其等间隔采样形成离散样值。
    3. 调制时,一个加扰后的码元对应相乘一串正弦波的周期采样值,把相乘结果汇总后就是调制后的结果
    4. 解调时,把一个码元所对应的一串正弦波的周期采样值与载波采样值进行点乘,根据点乘结果中,正数、负数还是零多,判决这是什么码元。

    调制原理图

    调制原理图

    解调原理图

    解调原理图

    高斯信道部分

    1. 使用matlab自带的函数awgn(input,snr(dB),inputPower)
    2. 只要传入需要加高斯噪声的信号,信噪比还有输入信号的功率,即可返回添加了高斯白噪声的信号。

    实验结果

    扩频增益为10时,walsh矩阵为64阶时,不同振幅下信噪比误码率曲线

    扩频增益为10时,walsh矩阵为64阶时,不同振幅下信噪比误码率曲线

    扩频增益为20时,walsh矩阵为64阶时,不同振幅下信噪比误码率曲线

    扩频增益为20时,walsh矩阵为64阶时,不同振幅下信噪比误码率曲线
    以上两次实验结果显示,载波振幅对于系统性能无明显影响,这是文章改版前的一个很大的错误!在此笔者向各位读者道歉。

    误码率随信噪比的变化曲线

    误码率随信噪比的变化曲线
    观察以上曲线可以发现,随着信噪比的上升,误码率以近似于抛物线的形式在不断下降,并最终等于0,这足以证明本次直接序列扩频系统仿真符合预期结果。

    源代码

    可以修改的参数

    1. 轮回次数。通过修改轮回次数,获得更好的曲线,或者更快的代码运行速度,代码运行参考速度:i7-4790:实测速率9.8秒/轮回 @1280*2&1280码元20&10扩频增益。
    2. 用户1的码元数量与扩频增益、用户2的码元数量与扩频增益。修改时注意两用户的码元必须是walsh码阶数的增数倍,同时要保证:用户1的码元数量 * 用户1的扩频增益=用户2的码元数量 * 用户2的扩频增益。
    3. walsh码的阶数。但walsh码阶数必须大于扩频增益。
    4. 用户1扩频相位、用户2扩频相位。注意相位必须1到64之间取值,两个用户的取值不能一样。
    5. M序列阶数与返回系数。反馈系数取值有相关要求,详见百度,作为参数传入时要以八进制表示。
    6. 半个载波周期的采样点数。
    7. 最小最大信噪比,以及其尝试步进。
    8. 最小最大载波振幅,以及其尝试步进。

    !下载链接!

    链接:https://pan.baidu.com/s/14KNoWlD7UyC9WAEza63W5A
    提取码:qg1y

    核心代码

    主函数

    main.m

    %{
        本函数是整个仿真的主函数,用于研究在移动通信时,信噪比对误码率的影响
    首先生成随机双极性码,然后经过扩频,加扰,BPSK调制,加高斯白噪声,混合
    然后模拟接收端的解调,去扰,解扩,判决。
        通过比较接收端判决输出与原来的码元,计算出误码率,首先通信系统的仿真
    以及误码率-信噪比的变化曲线的绘制.
    2019/11/22(以上)
        在当前版本中,添加了对信噪比&误码率曲线随BPSK调制载波振幅变化而变化
    的相关研究功能。因为实际发现,之前的代码中曲线会在-20dB到0dB处出现平缓现象,
    实际排查发现是载波的振幅导致的。振幅研究结果发现:振幅小于0.4时,系统无法正常
    工作!其误码率曲线在后期随着信噪比的增加呈现反常膨胀!
    ^-^想要得到抛物线,只有在载波振幅为1的时候。^-^,不然随着振幅的增加,曲线曲线趋于平缓的信噪比范围会越大;
    同时发现大于0.6的曲线会近似相交于某一点,交点前同等信噪比下振幅高的误码率低,但在交点后
    ***同等的信噪比下振幅小的误码率反而低!!!***
        在本版本中,walsh矩阵的所有码元都被用于扩频,没有使用前一版的矩阵截取方法,
    规避了鬼魅版的非严格正交问题,但前面的截取版本恰恰说明非严格正交对本系统影响曲线
    的影响并不是很大,但却可以使得系统能在更低的误码率下工作。
        至此,代码已经经历10次版本迭代。
    2019/12/1(以上)
        第二次答辩,仍出现部分平滑问题,并且老师说系统性能太好了,与实际系统不符,并且
    曲线不应该受振幅的影响,基于此再对代码做修改,计算了输入信号的平均功率,作为第3
    个参数传给awgn,否则awgn会把输入信号的功率视为0dBW!现在曲线基本重合。但0.20.4
    的问题仍未解决!
        至此,程序第11次版本迭代
    2019/12/2(以上)
        第十二次迭代。
        发现了为什么振幅是0.20.4时,系统无法正常工作的原因,是因为
    bitMultiple函数把运算结果格式转换成了int8,导致精度大量失真!当时转换格式是为
    内存空间与运行速度做打算,结果今天发现做了负优化!修改后,发现载波振幅对于系统
    的误码率曲线几乎无影响。
        另外,解调函数也做了修改,会根据输入自动计算判决阈值,解决了之前人为设定阈值
    的局限,阈值采用正态分布解算法,详见demodulate函数内注释。
    2020/7/1(以上)
        i7-4790:实测速率9.8/轮回 @1280*2&1280码元20&10扩频增益
    %}
    clear variable;
    close all;
    
    mulTimes = 5;  %轮回次数
    
    walshOrder = 64;    %walsh码的阶数,必须大于扩频增益
    
    N1 = 1280*2;   %用户1码元数量
    N2 = 1280;   %用户2码元数量
    
    user1SPgain = 10;  %用户1的扩频增益
    user2SPgain = 20;  %用户2的扩频增益
    
    %记录两个用户的walsh相位,注意相位必须在164之间取值
    %两个用户的取值不能一样
    user1Phase = 2; %用户1的相位
    user2Phase = 16; %用户2的相位
    
    %加扰使用的m序列的参数
    mOrder = 5; %级数5级
    feedBack = 67;%反馈系数67
    
    %调整时,半个周期的采样点数
    samplePiont = 4;
    
    %生成需要使用的walsh码
    walshCode = walsh(walshOrder);
    
    %针对低性能电脑做优化,采取以时间换取空间的思路
    maxSnr = 20;    %尝试的最大信噪比
    minSnr = -20;   %尝试的最小信噪比
    div = 1;      %信噪比的尝试步进
    maxTime = (maxSnr-minSnr)/div;  %尝试次数
    timesUser1Acc = zeros(mulTimes,maxTime);
    timesUser2Acc = zeros(mulTimes,maxTime);
    
    %生成双极性码片
    user1 = genBipolar(N1);
    user2 = genBipolar(N2);   
    
    %扩频
    spread1 = spreadSpectrum(user1,walshCode,user1SPgain,user1Phase);
    spread2 = spreadSpectrum(user2,walshCode,user2SPgain,user2Phase);
    
    %加扰
    Mseq1 = MseqGen(mOrder,feedBack); %用户1加扰用的m序列
    Mseq2 = MseqGen(mOrder,feedBack); %用户2加扰用的m序列
    user1scarm = scarmbling(spread1,Mseq1);
    user2scarm = scarmbling(spread2,Mseq2);
    
    maxAmp = 1.2;    %尝试的最大载波振幅
    minAmp = 0.2;   %尝试的最小载波振幅
    divAmp = 0.2;      %载波振幅的尝试步进
    maxTimesAmp = floor((maxAmp-minAmp)/divAmp);  %振幅尝试次数
    
    ampRecords1 = zeros(maxTimesAmp,maxTime);
    ampRecords2 = zeros(maxTimesAmp,maxTime);
    
    for amp = 1:maxTimesAmp %测试不同的载波振幅下的曲线
        
        fprintf('目前正在第%d个振幅\n',amp);
    
        %调制BPSK
        %生成载波,两用户使用同一个载波
        carrier = (minAmp + divAmp*(amp-1))*sin(0:(pi/samplePiont):(2*pi-2*pi/samplePiont));
        user1modulate = modulate(user1scarm,carrier);
        user2modulate = modulate(user2scarm,carrier);
        
        %计算载波功率
        power = powerCnt(carrier);
        
        for times = 1:mulTimes
    
            fprintf('目前正在第%d个轮回\n',times);
    
            user1Acc = zeros(1,maxTime);
            user2Acc = zeros(1,maxTime);
    
            parfor index = 1:maxTime 
                snr = minSnr + (index-1)*div; %加在发送信号上的高斯噪声的信噪比(dBW)
                            
                %通过高斯信道,添加高斯噪声
                user1send = awgn(user1modulate,snr,power);
                user2send = awgn(user2modulate,snr,power);
    
                %接收方
                receive = user1send + user2send; %收到混合起来的信号
    
                %解调
                demodulateRes = demodulate(receive,carrier);
    
                %去扰
                user1Descarm = deScarmbling(demodulateRes,Mseq1);
                user2Descarm = deScarmbling(demodulateRes,Mseq2);
    
                %解扩
                user1deDS = deSpreadSpectrum(user1Descarm,walshCode,user1SPgain,user1Phase);
                user2deDS = deSpreadSpectrum(user2Descarm,walshCode,user2SPgain,user2Phase);
    
                %计算误码率
                [~,user1Accuracy] = compare(user1,user1deDS);
                [~,user2Accuracy] = compare(user2,user2deDS);
                user1Acc(index) = 1-user1Accuracy;
                user2Acc(index) = 1-user2Accuracy;
            end
            timesUser1Acc(times,:) = user1Acc;
            timesUser2Acc(times,:) = user2Acc;
        end
        %总结统计多次实验的结果
        for i = 1:maxTime
            user1Acc(i) = mean(timesUser1Acc(:,i));
            user2Acc(i) = mean(timesUser2Acc(:,i));
        end
        ampRecords1(amp,:) = user1Acc;
        ampRecords2(amp,:) = user2Acc;
    end
    
    %误码率随信噪比的变化曲线
    figure(1);
    X1 = (minSnr:div:maxSnr-div);
    semilogy(X1,ampRecords1(5,:),'b');
    xlabel('信噪比(dB)');
    ylabel('误码率');
    title('误码率随信噪比的变化曲线');
    hold on;
    semilogy(X1,ampRecords2(5,:),'g');
    legend('用户1(扩频增益10)','用户2(扩频增益20)');
    
    %用户1振幅不同的误码率随信噪比的变化曲线
    figure(2);
    for i = 1:maxTimesAmp
        semilogy(X1,ampRecords1(i,:));
        hold on;
    end
    xlabel('信噪比(dB)');
    ylabel('误码率');
    title('用户1振幅不同的误码率随信噪比的变化曲线');
    legend('0.2','0.4','0.6','0.8','1.0');
    
    %用户2振幅不同的误码率随信噪比的变化曲线
    figure(3);
    for i = 1:maxTimesAmp
        semilogy(X1,ampRecords2(i,:));
        hold on;
    end
    xlabel('信噪比(dB)');
    ylabel('误码率');
    title('用户2振幅不同的误码率随信噪比的变化曲线');
    legend('0.2','0.4','0.6','0.8','1.0');
    

    walsh码生成

    walsh.m

    % 产生 Walsh函数通用函数
    % 参数N表示Walsh函数阶数,N不是2的幂时,通过向无穷大取整使得所得Walsh阶数为2的幂
    function [walsh]=walsh(N)
        M = ceil(log2(N));
        wn = 0;
        for i = 1:M
            w2n = [wn,wn;wn,~wn];
            wn = w2n;
        end
        wn(wn == 0) = -1;
        walsh = int8(wn);
    end
    

    M序列生成

    MseqGen.m

    %M序列发生器
    %order:阶数
    %setBakc:反馈系数
    function res = MseqGen(order,feedBack)
        res = zeros(2^order-1,order);
        feedBack = Oct2Bin(feedBack);
        feedBack = feedBack(2:6);
        temp = rand(1,order);
        temp(temp < 0.5) = 0;
        temp(temp >= 0.5) = 1;
        res(1,:) = temp;
        for i = 2:2^order-1
            newBit = sum(res(i-1,feedBack == 1));
            newBit = mod(newBit,2);
            for j = 1:order-1
                res(i,j+1) = res(i-1,j);
            end
            res(i,1) = newBit;
        end
        res(res == 0) = -1;
    end
    

    扩频模块

    spreadSpectrum.m

    %扩频函数
    %userCode:需要扩频的用户码元
    %PNseq:用于扩频的随机码
    %gain:扩频增益
    %phase:用户扩频码相位
    function res = spreadSpectrum(userCode,PNseq,gain,phase)
        %首先对码元进行周期延拓
        [~,userCode2] = selfCopy(userCode,gain);
        %计算扩频码的行数
        [lineSize,~] = size(PNseq);
        %对扩频码进行重排行序,使初相位位于第一行
        PN = PNseq(phase:lineSize,:);
        PN = [PN;PNseq(1:phase-1,:)];
        res = bitMultiple(userCode2,PN(:)');
    end
    

    解扩模块

    deSpreadSpectrum.m

    %本函数用于解扩
    %userCode:需要解扩的用户码元
    %PNseq:用于扩频的随机码
    %gain:扩频增益
    %phase:用户扩频码相位
    function res = deSpreadSpectrum(userCode,PNseq,gain,phase)
        [lineSize,~] = size(PNseq);
        PN = PNseq(phase:lineSize,:);
        PN = [PN;PNseq(1:phase-1,:)];
        temps = bitMultiple(userCode,PN(:)');
        %这里是matlab的一个小bug,重排序以列作为索引,我的要求是以行
        %作为索引,所以要行列反写再取转置矩阵
        temps = reshape(temps,gain,length(temps)/gain);
        temps = temps';
        %解扩第二步,码元判决
        res = ones(1,length(temps(:))/gain);
        for i = 1:length(temps(:))/gain
            if sum(temps(i,:)) < 0
                res(i) = -1;
            end
        end
    end
    

    加扰模块

    scarmbling.m

    %加扰函数
    %source:被加扰的信号
    %PNCode:用于加扰的扰码
    %1:1的数据加扰
    function res = scarmbling(source,PNCode)
        res = bitMultiple(source,PNCode);
    end
    

    去扰模块

    deScarmbling.m

    %本函数用于对信号做去扰处理,实际操作与加扰完全一致
    %input:需要去扰的信号
    %PNseq:用于去扰的随机序列
    function res = deScarmbling(input,PNseq)
        res = bitMultiple(input,PNseq);
    end
    

    调制模块

    modulate.m

    function res = modulate(source,carrier)
    %调制函数
    %source:被调制信号
    %carrier:载波信号
        sizeSource = length(source);
        sizeCarrier = length(carrier);
        res = zeros(sizeSource,sizeCarrier);
        for i = 1:sizeSource
            res(i,:) = double(source(i))*carrier;
        end
        %把res按行拼接成一行
        res = res';
        res = res(:);
    end
    

    解调模块

    demodulate.m

    function res = demodulate(input,carrier)
    %本函数实现对接收信号的解调
    %原理:极性比较
    %input:被解调的信号
    %carrier:载波信号
    
    %按位循环相乘
    res_bitMultiple = bitMultiple(input,carrier);
    %分组相加
    res_arrayGroupSum = arrayGroupSum(res_bitMultiple,length(carrier));
    %{
        以上处理后,结果正负侧近似于泊松分布,为了处理方便,根据大数定理,
        近似地视为正态分布,从而计算阈值。按照正态分布,-1,1,0平分概率,每一个分得1/3的概率。
    %}
    %计算标准差
    res_std = std(res_arrayGroupSum);
    %计算平均数
    res_mean = mean(res_arrayGroupSum);
    %解算阈值
    syms temp;
    %以下计算时会有一个"Unable to solve symbolically. Returning a numeric solution using
    %vpasolve"的警告,让系统不显示
    warning off;
    threshhold_negative = double(solve(normcdf(temp,res_mean,res_std)==1/3));
    %计算概率为2/3时的阈值,也就是判决为1的阈值
    threshhold_postive = double(solve(normcdf(temp,res_mean,res_std)==2/3));
    res = zeros(1,length(res_arrayGroupSum));
    for i = 1:length(res_arrayGroupSum)
        if res_arrayGroupSum(i) > threshhold_postive
            res(i) = 1;
        elseif res_arrayGroupSum(i) < threshhold_negative
            res(i) = -1;
        end
    end
    end
    

    模块测试代码

    本部分的代码用于单独测试三大模块是否正常工作

    扩频解扩模块测试

    testSpreadSpectrum.m

    %本代码用于测试扩频,解扩模块是否正常工作
    %注意扩频与解扩针对的是双极性码
    function testSpreadSpectrum()
        raw = genBipolar(64);
        walshCode = walsh(64);
        afterDSSS = spreadSpectrum(raw,walshCode,4,2);
        res= deSpreadSpectrum(afterDSSS,walshCode,4,2);
        [trueNum,accuracy] = compare(raw,res);
        fprintf("正确码元数量:%d\n正确率:%f\n",trueNum,accuracy); 
    end
    

    加扰去扰模块测试

    testScarmbling.m

    %本代码用于测试加扰,去扰模块能否正常工作
    function testScarmbling()
        %M序列发生器可以自定义阶数和反馈系数
        Mseq = MseqGen(5,67); %产生加扰用的m序列
        raw = tripleGen(1e6);
        afterScarmb = scarmbling(raw,Mseq);
        res = deScarmbling(afterScarmb,Mseq);
        [trueNum,accuracy] = compare(raw,res);
        fprintf("正确码元数量:%d\n正确率:%f\n",trueNum,accuracy);    
    end
    

    调制解调模块测试

    testModulate.m

    %本代码用于测试BPSK调制与解调模块能否正常工作
    function testModulate()
        carrier = 10*sin(0:pi/32:2*pi-pi/32);
        raw = tripleGen(1e6);
        afterModu = modulate(raw,carrier);
        res = demodulate(afterModu,carrier);
        [trueNum,accuracy] = compare(raw,res);
        fprintf("正确码元数量:%d\n正确率:%f\n",trueNum,accuracy);   
    end
    

    非核心代码

    八进制转二进制模块

    Oct2Bin.m

    %八进制转二进制,返回一个二进制数组
    function res = Oct2Bin(value)
        [bitNum,bit] = getPalces(value);
        res = int8(zeros(1,bitNum*3));
        for i = 1:bitNum*3
            bitMain = bit(floor((i-1)/3)+1);
            switch mod(i-1,3)
                case 0
                    if bitMain >= 4
                        res(i) = 1;
                    end
                case 1
                    if bitMain == 2 || bitMain == 3 || bitMain == 6 || bitMain == 7
                       res(i) = 1;
                    end
                case 2
                    if mod(bitMain,2) ~= 0
                        res(i) = 1;
                    end
            end
        end
    end
    

    点乘模块

    bitMultiple.m

    %按bit循环相乘函数,如果信号长度不一致,则较短的信号被循环使用
    %signal1:相乘信号1
    %signal2:相乘信号2
    %res:相乘结果
    function res = bitMultiple(signal_1,signal_2)
        sizeSource = length(signal_1);
        sizePNCode = length(signal_2);
        %如果长度不满足条件时,调换顺序递归调用
        if sizeSource < sizePNCode
            res = bitMultiple(signal_2,signal_1);
            return;
        end
        res = zeros(1,sizeSource);
        for i = 1:sizeSource
            res(i) = signal_1(i) * signal_2(mod(i-1,sizePNCode)+1);
        end
        res = int8(res);
    end
    

    码元比较模块

    compare.m

    %比较两个数组
    %input1:数组1
    %input2:数组2
    %res:正确码元数量
    %accuracy:正确率
    function [res,accuracy] = compare(input1,input2)
        temp = (input1 == input2);
        res = length(find(temp == 1));
        sizeInput = max(length(input1),length(input2));
        accuracy = res/double(sizeInput);
    end
    

    双极性码生成模块

    genBipolar.m

    %产生双极性码
    %num:双极性码的规模
    %res:满载双极性码的数组
    function res = genBipolar(num)
        res = rand(1,num);
        res = value2Bipolar(res);
    end
    

    数字位数获取模块

    getPlaces.m

    %统计一个数字的位数,并返回每位的数字
    function [Places,item] = getPalces(value)
        Places = 0;
        temp = abs(value);
        while temp ~= 0
            temp = floor(temp/10);
            Places = Places + 1;
        end
        item = uint8(zeros(1,Places));
        temp = value;
        for i = Places:-1:1
            item(i) = mod(temp,10);
            temp = floor(temp/10);
        end
    end
    

    功率计算模块

    powerCnt.m

    %计算输入信号的平均功率(dBW)
    function res = powerCnt(input)
        res = 10*log10(sum(input.*input));
    end
    

    周期延拓模块

    selfCopy.m

    %本函数实现数组的周期延拓
    %input:需要延拓的数组
    %times-1:延拓的次数
    %比如selfCopy([1,2,3],2) = [1,2,3,1,2,3,1,2,3]
    function [res,res2] = selfCopy(input,times)
        if times <= 1
            res = input;
        else
            res = zeros(length(input),times);
            for i = 1:times
                res(:,i) = input;
            end
            res2 = res';
            res2 = res2(:)';
            res = res(:)';
        end
    end
    

    三极码生成模块

    tripleGen.m

    %本函数用于生成指定数量的随机三极性码,主要用于做模块测试
    %num:数量
    %res:满载结果的数组
    function res = tripleGen(num)
        raw = rand(1,num);
        for i = 1:num
            if raw(i) >= 0.75
                raw(i) = 1;
            elseif raw(i) <= 0.25
                raw(i) = -1;
            else
                raw(i) = 0;
            end
        end
        res = int8(raw);
    end
    

    0~1转双极性模块

    value2Bipolar.m

    % 本函数用户把随机生成的0~1之间的double数转换成双极性码
    function res = value2Bipolar(input)
        res = zeros(1,length(input));
        for index = 1:length(input)
            if(input(index) < 0.5)
                res(index) = -1;
            else
                res(index) = 1;
            end
        end
        res = int8(res);
    end
    

    分组相加模块

    arrayGroupSum.m

    function res = arrayGroupSum(input,group_num)
    %arrayGroupSum 数组分组求和,如果数组长度除去group_num无法整除,则截短input数组
    %input 目标数组
    %group_num 分组数
    len = floor(length(input)/group_num);
    res = zeros(1,len);
    for i = 1:len
        res(i) = sum(input((i-1)*group_num+1:i*group_num));
    end
    end
    
    展开全文
  • 需要做一个类似于高德地图的搜索可以参考高德地图,用户输入地点,下拉列表自动弹出少量的相应地点,点击内容地点可以直接选择定位并且添加Cesium的广告牌(图标)标注,点击标注可以弹出详细信息,点击搜索则通过...
  • MATLAB 粒子群算法,例题与常用模版

    万次阅读 多人点赞 2018-09-06 18:09:18
    MATLAB 粒子群算法 本文学习自:Particle Swarm Optimization in MATLAB - Yarpiz Video Tutorial 与《精通MATLAB智能算法》 ...每次搜寻都会根据自身经验(自身历史搜寻的最优地点种群...
  • 识别图片地点_地点识别

    千次阅读 2020-07-20 05:19:40
    识别图片地点Imagine this scenario: you catch-up with a friend who’s returned from a trip to India. You’ve traveled extensively through India and recommended your friend to holiday there. When you ...
  • WPF开发教程

    万次阅读 多人点赞 2019-07-02 23:13:20
    ------WPF开发教程 目录 WPF基础入门....... 1. WPF基础之体系结构......2. WPF基础之XAML....3. WPF基础之基元素......4. WPF基础之属性系统......5. WPF基础之路由事件......7. WPF基础之样式设置模板化... ...
  • 未经博主允许,不得转载 ||写在前面:读论文读的是...同时读文章时,能借一些作者的关系的理解更好地建立自己的知识网络(尤其在introduction related works)。另外读文章中大家普遍一致清楚的就是读idea,从...
  • 我对待这个问题,始终不放弃,经过了多次的测试验证,该问题出现的地点是有一下两种可能性: 情况1、 你A界面中使用了a.png图片,然后做了跳转,finish了A界面,finish的时候,你使用了一下的代码释放了内存: ...
  • python解析照片拍摄时间和地点信息

    万次阅读 2018-11-20 11:33:58
    通常通过手机或相机拍摄的图片中影藏了照片的属性信息拍摄数据,主要通过EXIF(Exchangeable image file format: 可交换图像文件格式) 进行存储这部分信息 该部分信息可以被修改,另外也可通过图像信息影藏方式,往...
  • Python快速编程入门课后程序题答案

    万次阅读 多人点赞 2019-06-19 23:17:45
    def add(a, b): # 下面两行保证输入的ab是维数相同的矩阵,根据实际情况不要也可以 assert (len(a) == len(b)) assert (all([len(a[i]) == len(b[i]) == len(a[0]) for i in range(len(a))])) i, j = len(a), len...
  • check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 问题原因分析: 一般数据库SQL 异常会将sql拼写错误的文本解析错误地点放在near"" 中间引号中...
  • (本篇博客主要介绍个人对一份数据的清洗代码清洗效果) 主要涉及应用的库是numpy、pandas、matplotlib,话不多说,直接上代码 #全部行都能输出 from IPython.core.interactiveshell import InteractiveShell ...
  • One of the methods used to narrow the search for Mr. Sutcliffe was to find a “center of mass” of the locations of the attacks. In the end, the suspect happened to live in the same town predicted by...
  • 使用GPS轨迹DBSCAN推断家庭工作地点 在这篇文章中,我将演示如何使用移动用户的GPS轨迹来推断她的家庭工作地点。 我使用的数据来自Microsoft Research Asia的GeoLife GPS Trajectories Dataset(下载链接)。...
  • Multi-View Stereo for Community Photo Collections 论文阅读笔记 上一篇论文,主要介绍了如何从photo collection中获得点云(point clouds),这一篇论文主要介绍,获得点云之后该做怎样的处理,来获得一个...
  • Google 地图 API for Android

    万次阅读 多人点赞 2017-03-04 20:42:52
    原文:Introduction to Google Maps API for Android 作者: Eunice Obugyei 译者:kmyhy 从健康类 app Runkeeper 到游戏 app 精灵宝可梦,位置服务对现代 app 来说越来越重要。在本文中,我们将创建一个 app,...
  • 根据指定的经纬度从数据库中查询半径为5km的地点 1.从数据库中一个个遍历查找,然后二者之间求距离比较大小,慢! 2.先过滤出经纬度范围,在比较大小 具体代码实现: controller: /** * 根据经纬度找...
  • 首先, 对 Siamese 卷积神经网络 (CNN) 进行了训练, 以学习描述两个输入图像块之间的局部时空结构、聚合像素值光流信息。其次, 通过梯度提升分类器(gradient boost), 将从比较的输入图像块的位置大小中导出的一...
  • 逻辑英语语法笔记

    万次阅读 多人点赞 2019-04-02 21:32:03
    该笔记是笔者学习钟平老师的逻辑英语英语语法的笔记,主要目的总结复习,如需要更深入学习请到网易有道精品课里学习。 一、中英文对切公式 1、基本公式 主干相同:主谓宾位置不变 修饰语英文后置,中文...
  • swift 中高德地图随时读取坐标地点的写法
  • abstract introduction ...Deep architecture for place recognition NetVLAD: A Generalized VLAD layer (fVLADfVLAD f_{VLAD}) Max pooling (fmax) Learning from Time Machine data Experiment...
  • 本文将CNNNLP结合; 介绍了一系列的对比实验,实验结果说明了: 一个简单的(单层神经网络)的CNN模型 一点超参数的调节(Filter的个数) static word vector 另外,对cnn模型进行了小改动:将static vectorsnon...
  • 基于jsp(java)超市管理系统的设计开发(含源文件)

    万次阅读 多人点赞 2020-02-09 13:24:26
    This paper focuses on the supermarket with sales management system for the design and development process of a comprehensive introduction of each subsystem and the program design, operation and ...
  • Recently Irina arrived to one of the most famous cities of Berland — the Berlatov city. There are  n  showplaces in the city, numbered from 1  to  n , and some of them are connected by one-...
  • 即有了这篇综述的论文《A Survey on Deep Learning for Named Entity Recognition》的阅读笔记 文章目录一、摘要二、简介命名实体命名实体识别方法命名实体识别任务种类资源三、命名实体识别中的深度学习输入的...
  • BigData:绘制2018年福布斯中国富豪榜人名坐标地图(解决多个人名显示在同一个家乡地点) 目录 一、总体设计思路 1、思路框图 ​2、最终解决 二、挖坑、埋坑 1、第一次坑 2、第二次坑 3、第三次坑 4、第...
  • 显示报错信息,很明显是连接出了错误导致未成功生成.exe文件,并不是代码问题,也就是环境问题了,然后我通过更换编译g++版本、换成32位编译(说实话问题确实出在6432这里了,但不知道为啥dev不认账非得按64位编译...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,078
精华内容 13,631
关键字:

to地点和for地点