精华内容
下载资源
问答
  • Linux中&&、&、|、||等特殊符号

    万次阅读 多人点赞 2018-10-03 16:36:01
    但覆盖写为空 # 所以错误信息直接在控制台打印出来了 [root@localhost ~]$ lll &> test.txt [root@localhost ~]$ cat test.txt -bash: lll: command not found # 使用&>重定向错误信息没有输出到控制台了,表示错误...
    @Author  : Spinach | GHB
    @Link    : http://blog.csdn.net/bocai8058
    

    && 和 &

    & 表示任务后台执行,与nohup命令功能差不多。

    # 运行jar包,并且置于后台执行,执行的日志重定向到当前默认的log.txt文件中
    [root@localhost local]$ java -jar test.jar > log.txt &
    

    && 表示前一条命令执行成功时,才执行后一条命令。

    # 执行ls -l成功后,执行cd ..
    [root@localhost tmp]$ ls -l && cd .. 
    总用量 4 
    -rw-r–r–. 1 root root 2252 1月   4 22:25 log.txt 
    -rw——-. 1 root root    0 1月   3 23:23 yum.log 
    [root@localhost /]$
    

    | 和 ||

    | 表示管道,上一条命令的输出,作为下一条命令参数(输入)。

    # 查询全部进程后输出结果在进行过滤跟 进行中包含aux的进程。
    [root@localhost ~]$ ps -aux | grep aux 
    Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ 
    root        53  0.0  0.0      0     0 ?        S    16:33   0:00 [ata_aux] 
    root      2379  4.0  0.1 110224  1172 pts/2    R+   22:55   0:00 ps -aux 
    root      2380  0.0  0.0 103316   868 pts/2    D+   22:55   0:00 grep aux 
    

    || 表示上一条命令执行失败后,才执行下一条命令。

    [root@localhost tmp]$ als -l || cd ..
    -bash: als: command not found
    [root@localhost /]$ 
    

    > 和 >>

    > 表示stdout标准输出信息重定向输出,覆盖写。

    [root@localhost ~]$ cat test.txt
    Hello
    [root@localhost ~]$ echo 'World' > test.txt
    [root@localhost ~]$ cat test.txt
    World
    

    >> 表示内容追加写。

    [root@localhost ~]$ cat test.txt
    Hello
    [root@localhost ~]$ echo 'World' >> test.txt
    [root@localhost ~]$ cat test.txt
    HelloWorld
    

    &> 、2>&1 和 2>1

    &> 表示stdout标准输出和stderr错误输出信息,重定向输出,覆盖写。

    [root@localhost ~]$ cat test.txt
    World
    [root@localhost ~]$ lll
    -bash: lll: command not found 
    [root@localhost ~]$ lll > test.txt
    [root@localhost ~]$ cat test.txt
    # 由于这个是错误信息,所以不能使用标准输出>将信息重定向到test文件中,但覆盖写为空
    # 所以错误信息直接在控制台打印出来了
    [root@localhost ~]$ lll &> test.txt
    [root@localhost ~]$ cat test.txt
    -bash: lll: command not found
    # 使用&>重定向错误信息没有输出到控制台了,表示错误信息正确重定向到了test文件,也同样是覆盖写
    

    2>&1 表示把标准错误的输出重定向到标准输出1,&指示不要把1当做普通文件,而是fd=1即标准输出处理。

    2>1 表示把标准错误的输出重定向到1,但这个1不是标准输出,而是一个名为1的文件。

    linux重定向的设备代码

    • 空设备文件/dev/null
    • 标准输入(stdin) 代码为0,实际映射关系:/dev/stdin -> /proc/self/fd/0
    • 标准输出(stdout)代码为1,实际映射关系:/dev/stdout -> /proc/self/fd/1
    • 标准错误输出(stderr)代码为2,实际映射关系:/dev/stderr ->/pro/self/fd/2

    command>a 2>1 、command>a 2>a 与 command>a 2>&1的区别

    1. command>a 2>&1 等价于 command 1>a 2>&1
       意思为执行command产生的标准输入重定向到文件a中,标准错误也重定向到文件a中。
    
    2. command>a 2>a 不等价于 command 1>a 2>&1,其区别如下:
       i. command>a 2>a打开文件两次,而command 1>a 2>&1只打开文件一次;
      ii. command>a 2>a由于打开文件两次,导致stdout被stderr覆盖;
     iii. 从IO效率上来讲,command 1>a 2>&1比command 1>a 2>a的效率更高。
    
    3. command>a 2>1 等价于 command 1>a 2>1
       意思为执行command产生的标准输入重定向到文件a中,标准错误重定向到文件1中。
    

    展开全文
  • OFDM完整仿真过程及解释(MATLAB)

    万次阅读 多人点赞 2019-04-19 17:03:45
    因为是复制过来,如果出现图片显示不完整以及需要源程序请点击下面链接查看原文: OFDM完整仿真过程及解释(MATLAB) - 子木的文章 - 知乎 ... 目录: 、说明 二、ofdm总体概述 ...、说...

    因为是复制过来,如果出现图片显示不完整以及需要源程序请点击下面链接查看原文:

    OFDM完整仿真过程及解释(MATLAB) - 子木的文章 - 知乎

    点击这里访问原文

    后面的更新没有同步,点上面链接可以看更新部分。

     

    目录:

    一、说明

    二、ofdm总体概述

    三、基本原理

    四、过程中涉及的技术

    五、OFDM基本参数的选择

    六、OFDM的MATLAB仿真程序

     

    一、说明

    0.能找到这篇文章,说明对ofdm已经有一点了解,所以其原理就不再赘述,这篇代码的目的只是希望能对ofdm整个过程有一个理解;

    1.看书上ofdm介绍挺简单的,自己来仿真才发现很多知识点都不知道;

    2.花了很长时间才理清整个ofdm过程,网上的程序都是一段一段的,不能直接理解整个过程。所以想着自己来做一个完整过程的仿真,加深理解;

    3.基带信号能完成整个过程,但是想加进频带传输这一部分,就完整了;

    4.信道部分想用瑞利信道的,程序写出来了,但是误差和信道估计这一块还不是很明白,所以就先用的高斯信道;

    5.不足之处欢迎指正。。。。

    二、概述

    OFDM是一种特殊的多载波传输方案,它可以被看作是一种调制技术,也可以被当作一种复用技术。

    简单来说:OFDM是一种多载波的传输方法,它将频带划分为多个子信道并行传输数据,将高速数据流分成多个并行的低速数据流,然后调制到每个信道的子载波上进行传输。由于它将非平坦衰落无线信道转化成多个正交平坦衰落的子信道,从而可消除信道波形间的干扰,达到对抗多径衰落的目的。

    正交频分复用(OFDM)是对多载波调制(MCM)的一种改进,在。它的特点是:各子载波相互正交,所以扩频调制后的频谱可以相互重叠,不但减少了子载波间的相互干扰,还大大提高了频谱利用率。

    选择OFDM的一个很大的原因是该系统能够很好的对抗频率选择性衰落和窄带干扰。在单载波系统中,一次衰落或者干扰会导致整个链路失效,但是在多载波系统中,某一时刻只会有少部分的子信道受到深衰落的影响。

    三、基本原理

    3.1 OFDM系统收发机的典型(根据实际需要可添/删部分)框图如下:

    OFDM收发机框图

    其中,上半部分对应于发射机链路,下半部分对应于接收机链路。

    发送端将被传输的数字信号转换成子载波幅度和相位的映射,并进行离散傅里叶变换(IDFT),将数据的频谱表达式变到时域上。IFFT和IDFT变换的作用相同,只是有更高的计算效率,所以适用于所有的应用系统。接收端进行与发送端相反的操作,用FFT变换分解,子载波的幅度和相位最终转换回数字信号。

    这里理解为传输的频域信号是因为IFFT是从频域到时域,实际上这里IFFT充当的是一个实现子载波正交的作用,具体可以推导其DFT公式。知乎里公式编辑太麻烦了。

     

    3.2 OFDM调制与解调

    一个OFDM符号之内包括多个经过调制的子载波的合成信号,其中每个子载波都可以收到psk(相移键控)和qam(正交幅度调制)的调制。

    OFDM发射机将信息比特流映射成一个psk或qam符号序列,之后将串行的符号序列转换为并行符号流。每N个经过串并转换的符号被不同的子载波调制。

    OFDM符号是N个并行符号的复合信号,若单个串行符号的传输时间(周期)是Ts,则一个OFDM符号的持续时间(周期)Tsym=N*Ts。

    频域调制信号X[k]的频率为:fk=k/Tsym,子载波数量为N,则k=0,1,2.....N-1。(由DFT原理推导)

    四、过程中涉及的技术

    为什么要用?怎么用?

    4.1 保护间隔

    多径信道会对OFDM符号造成ISI影响,破坏了子载波间的正交性。故需要采取一些方法来消除多径信道带来的符号间干扰(ISI)影响,即插入保护间隔。

    保护间隔有两种插入方法:一种是补零(zp),即在保护间隔中填充0;另一种是插入循环前缀(cp)或循环后缀(cs)实现OFDM的循环扩展(为了某种连续性)。

    zp是在保护间隔内不插入任何信号,但是在这种情况下,由于多径传播的影响,会产生载波间干扰(ICI),即不同的子载波间会产生干扰。

    一般采用cp。cp是将OFDM后部的采样复制到前面,长度为Tcp,故每个符号的长度为Tsym=Tsub+Tcp,Tsub为数据部分子载波数。Tcp大于或等于多径时延,符号间的ISI影响将被限制在保护间隔中,因此不会影响下一个OFDM的FFT变换。

    4.2交织

    交织的作用是将突发错误转换为随机错误,有利于前向纠错码的译码,提高了整个通信系统的可靠性。交织由两个变换过程组成。第一次变换保证了相邻的编码比特被映射到不相邻的子载波上。第二次变换保证了相邻的编码比特被分别映射到星座图的重要和非重要比特上,避免出现长时间的低比特位映射。

    交织块的长度Ncbps,对qpsk、16qam、64qam分别为2、4、6,s=Ncbps/2,d=16。

    4.3信道编码

    由于移动通信存在干扰和衰落,在信号传输过程中将出现差错,故对数字信号必须采用纠、检错技术,即纠、检错编码技术,以增强数据在信道中传输时抵御各种干扰的能力,提高系统的可靠性。

    这里的信道编码一般采用卷积编码,Viterbi译码。

    卷积编码是现代数字通信系统中常见的一种前向纠错码,区别于常规的线性分组码,卷积编码的码字输出不仅与当前时刻的信息符号输入有关,还与之前输入的信息符号有关。

    4.4 扩频

    “扩频通信技术是一种信息传输方式,其信号所占有的频带宽度远大于所传信息必需的最小带宽;频带的扩展是通过一个独立的码序列来完成,用编码及调制的方法来实现的,与所传信息数据无关;在接收端则用同样的码进行相关同步接收、解扩及恢复所传信息数据”

    根据香农定理,带宽和信噪比可用互换,扩频扩展了带宽,则对信噪比的要求可降低。

    4.5 导频

    导频不携带信息,导频是双方已知的数据,是用来做信道估计的。

    在接收机中,虽然利用接收到的段训练序列、长训练序列可以进行信道均衡、频率偏差校正,但符号还会存在一定的剩余偏差,且偏差会随着时间的累积而累积,会造成所有子载波产生一定的相位偏移。因此,还需要不断地对参考相位进行跟踪。要能实现这个功能,需要在52个非0子载波中插入导频符号。

    4.6 RF(射频)调制

    OFDM调制器的输出产生了一个基带信号,将此基带信号与所需传输的频率进行混频操作,利用模拟技术或数字上变频可完成。由于数字调制技术提高了处理I、Q信道之间的匹配性和数字IQ调制器相位的准确性,将会更加精确。

    五、OFDM基本参数的选择

    5.1 各种OFDM参数的选择就是需要在多项要求冲突中进行折衷考虑。通常来说,首先要确认3个参数:带宽、比特率、及保护间隔。

    5.1.1 按照惯例,保护间隔的时间长度应该为应用移动环境信道的时延扩展均方根值的2~4倍。

    5.1.2 确定保护间隔之后,则OFDM符号周期长度就确定了。为了最大限度的减少由于插入保护比特所带来的信噪比的损失,OFDM符号周期长度远远大于保护间隔长度。但是符号周期又不能任意大,否则就需要更多的子载波,带宽不变,子载波间隔就变小,系统的实现复杂度就提高了,而且还加大了系统的峰值平均功率比,同时系统对频率偏差更加敏感。因此,一般选择符号周期长度是保护间隔的5倍,这样,由于插入保护比特所造成的信噪比损耗只有1dB左右。

    5.1.3 确定保护间隔和符号周期长度之后,子载波的数量可由-3dB带宽除以子载波间隔(即去掉保护间隔之后的符号周期的倒数)得到。或者可由所要求比特速率除以每个子信道的比特速率来确定子载波的数量。每个信道中所传输的比特速率可由调制类型、编码速率、和符号速率来确定。

    5.2 有用符号持续时间T

    T对子载波之间间隔、译码的等待周期都有影响,为了保持数据的吞吐量,子载波数目和FFT的长度要有相对较大的数量,这就导致符号持续时间变长。总之,符号周期长度的选择以保证信道的稳定为前提。

    5.3 子载波数

    N=1/T

    其数值与FFT处理过的复数点数相对应,需适应数据速率和保护间隔的要求。

    5.4 调制模式

    OFDM系统的调制模式基于功率和频谱利用率来选择,可采用qam、psk。

    为了使所有的点有相同的平均功率,二进制序列映射后的复数要归一化。(BPSK\QPSK\16QAM\64QAM分别对应乘以1、1/根号2、1/根号10、1/根号42),解调的时候再变回去。

    5.5 以具体实例说明;

    要求:(1)比特率为25Mbit/s(2)可容忍的时延扩展为200ns(3)带宽小于18MHz。

    1)由200ns时延扩展得保护间隔为800ns;

    2)由保护间隔800ns得符号周期长度6*800ns=4.8us;

    3)子载波的间隔选取4.8-0.8=4us的倒数,即250KHz;

    4)由所要求的比特速率与OFDM符号速率的比值,每个符号需要传送的比特:25Mbit/s)/(1/4.8us)=120bit。

    5)为了完成上面120bit/符号,有两种选择:利用16QAM和码率为1/2的编码方法,这样每个子载波携带2bit的有用信息,因此需要60个子载波;另一种是利用QPSK和码率为3/4的编码方法,每个子载波携带1.5bit信息。因此需要80个子载波,然而80个子载波意外着带宽:80*250KHz=20MHz,大于所给带宽要求,故取第一种,即60个子载波。可利用64点IFFT来实现,剩余4个子载波补0.

    六、OFDM的MATLAB仿真主程序

    clc;
    clear;
    
    %————————————————————————————————————————————————————————%
    %q1:ifft点数难道不是应该等于子载波数吗?子载波数与ifft点数的关系?
    %a:ifft点数等于子载波数
    %q2:对矩阵进行fft?
    %a:y可以是一向量或矩阵,若y为向量,则Y是y的FFT,并且与y具有相同的长度。若y为一矩阵,则Y是对矩阵的每一列向量进行FFT。
    %q3:怎么对ofdm信号上变频
    %————————————————————————————————————————————————————————%
    
    %% 参数设置
    
    N_sc=52;      %系统子载波数(不包括直流载波)、number of subcarrier
    N_fft=64;            % FFT 长度
    N_cp=16;             % 循环前缀长度、Cyclic prefix
    N_symbo=N_fft+N_cp;        % 1个完整OFDM符号长度
    N_c=53;             % 包含直流载波的总的子载波数、number of carriers
    M=4;               %4PSK调制
    SNR=0:1:25;         %仿真信噪比
    N_frm=10;            % 每种信噪比下的仿真帧数、frame
    Nd=6;               % 每帧包含的OFDM符号数
    P_f_inter=6;      %导频间隔
    data_station=[];    %导频位置
    L=7;                %卷积码约束长度
    tblen=6*L;          %Viterbi译码器回溯深度
    stage = 3;          % m序列的阶数
    ptap1 = [1 3];      % m序列的寄存器连接方式
    regi1 = [1 1 1];    % m序列的寄存器初始值
    
    
    %% 基带数据数据产生
    P_data=randi([0 1],1,N_sc*Nd*N_frm);
    
    
    %% 信道编码(卷积码、或交织器)
    %卷积码:前向纠错非线性码
    %交织:使突发错误最大限度的分散化
    trellis = poly2trellis(7,[133 171]);       %(2,1,7)卷积编码
    code_data=convenc(P_data,trellis);
    
    
    %% qpsk调制
    data_temp1= reshape(code_data,log2(M),[])';             %以每组2比特进行分组,M=4
    data_temp2= bi2de(data_temp1);                             %二进制转化为十进制
    modu_data=pskmod(data_temp2,M,pi/M);              % 4PSK调制
    % figure(1);
    scatterplot(modu_data),grid;                  %星座图(也可以取实部用plot函数)
    
    %% 扩频
    %————————————————————————————————————————————————————————%
    %扩频通信信号所占有的频带宽度远大于所传信息必需的最小带宽
    %根据香农定理,扩频通信就是用宽带传输技术来换取信噪比上的好处,这就是扩频通信的基本思想和理论依据。
    %扩频就是将一系列正交的码字与基带调制信号内积
    %扩频后数字频率变成了原来的m倍。码片数量 = 2(符号数)* m(扩频系数)
    %————————————————————————————————————————————————————————%
    
    code = mseq(stage,ptap1,regi1,N_sc);     % 扩频码的生成
    code = code * 2 - 1;         %将1、0变换为1、-1
    modu_data=reshape(modu_data,N_sc,length(modu_data)/N_sc);
    spread_data = spread(modu_data,code);        % 扩频
    spread_data=reshape(spread_data,[],1);
    
    %% 插入导频
    P_f=3+3*1i;                       %Pilot frequency
    P_f_station=[1:P_f_inter:N_fft];%导频位置(导频位置很重要,why?)
    pilot_num=length(P_f_station);%导频数量
    
    for img=1:N_fft                        %数据位置
        if mod(img,P_f_inter)~=1          %mod(a,b)就是求的是a除以b的余数
            data_station=[data_station,img];
        end
    end
    data_row=length(data_station);
    data_col=ceil(length(spread_data)/data_row);
    
    pilot_seq=ones(pilot_num,data_col)*P_f;%将导频放入矩阵
    data=zeros(N_fft,data_col);%预设整个矩阵
    data(P_f_station(1:end),:)=pilot_seq;%对pilot_seq按行取
    
    if data_row*data_col>length(spread_data)
        data2=[spread_data;zeros(data_row*data_col-length(spread_data),1)];%将数据矩阵补齐,补0是虚载频~
    end;
    
    %% 串并转换
    data_seq=reshape(data2,data_row,data_col);
    data(data_station(1:end),:)=data_seq;%将导频与数据合并
    
    %% IFFT
    ifft_data=ifft(data); 
    
    %% 插入保护间隔、循环前缀
    Tx_cd=[ifft_data(N_fft-N_cp+1:end,:);ifft_data];%把ifft的末尾N_cp个数补充到最前面
    
    %% 并串转换
    Tx_data=reshape(Tx_cd,[],1);%由于传输需要
    
    %% 信道(通过多经瑞利信道、或信号经过AWGN信道)
     Ber=zeros(1,length(SNR));
     Ber2=zeros(1,length(SNR));
    for jj=1:length(SNR)
        rx_channel=awgn(Tx_data,SNR(jj),'measured');%添加高斯白噪声
        
    %% 串并转换
        Rx_data1=reshape(rx_channel,N_fft+N_cp,[]);
        
    %% 去掉保护间隔、循环前缀
        Rx_data2=Rx_data1(N_cp+1:end,:);
    
    %% FFT
        fft_data=fft(Rx_data2);
        
    %% 信道估计与插值(均衡)
        data3=fft_data(1:N_fft,:); 
        Rx_pilot=data3(P_f_station(1:end),:); %接收到的导频
        h=Rx_pilot./pilot_seq; 
        H=interp1( P_f_station(1:end)',h,data_station(1:end)','linear','extrap');%分段线性插值:插值点处函数值由连接其最邻近的两侧点的线性函数预测。对超出已知点集的插值点用指定插值方法计算函数值
    
    %% 信道校正
        data_aftereq=data3(data_station(1:end),:)./H;
    %% 并串转换
        data_aftereq=reshape(data_aftereq,[],1);
        data_aftereq=data_aftereq(1:length(spread_data));
        data_aftereq=reshape(data_aftereq,N_sc,length(data_aftereq)/N_sc);
        
    %% 解扩
        demspread_data = despread(data_aftereq,code);       % 数据解扩
        
    %% QPSK解调
        demodulation_data=pskdemod(demspread_data,M,pi/M);    
        De_data1 = reshape(demodulation_data,[],1);
        De_data2 = de2bi(De_data1);
        De_Bit = reshape(De_data2',1,[]);
    
    %% (解交织)
    %% 信道译码(维特比译码)
        trellis = poly2trellis(7,[133 171]);
        rx_c_de = vitdec(De_Bit,trellis,tblen,'trunc','hard');   %硬判决
    
    %% 计算误码率
        [err,Ber2(jj)] = biterr(De_Bit(1:length(code_data)),code_data);%译码前的误码率
        [err, Ber(jj)] = biterr(rx_c_de(1:length(P_data)),P_data);%译码后的误码率
    
    end
     figure(2);
     semilogy(SNR,Ber2,'b-s');
     hold on;
     semilogy(SNR,Ber,'r-o');
     hold on;
     legend('4PSK调制、卷积码译码前(有扩频)','4PSK调制、卷积码译码后(有扩频)');
     hold on;
     xlabel('SNR');
     ylabel('BER');
     title('AWGN信道下误比特率曲线');
    
     figure(3)
     subplot(2,1,1);
     x=0:1:30;
     stem(x,P_data(1:31));
     ylabel('amplitude');
     title('发送数据(以前30个数据为例)');
     legend('4PSK调制、卷积译码、有扩频');
    
     subplot(2,1,2);
     x=0:1:30;
     stem(x,rx_c_de(1:31));
     ylabel('amplitude');
     title('接收数据(以前30个数据为例)');
     legend('4PSK调制、卷积译码、有扩频');
    

    七、能看到这里,如果有丢丢帮助的话,emmmm点个赞~呗

    原文:

    整个过程

    本来对每一步都有讲解注释的,但是程序编辑多了感觉不美观,就删掉了。比如扩频,其原理、作用、如何实现~

    三、代码及说明

    1.尽量把每一句程序都注释,能达到初学者拿到程序就能懂的程度;

    2.下面这段程序是上变频之前的,包含了画图,对ofdm信号有一个直观的感受(与上面图片中的流程可能冲突,这里仅仅是为了画图解释,所以这也是最开始学容易绕晕的地方)

    clear;
    %% 参数设置
    sub_carriers=2048;%子载波数
    T = 1 / sub_carriers;
    time = [0:T:1-T];% Nifft份,每份相隔T
    
    Lp=4984;
    P_Tx=(rand(1,Lp)>0.5);%(bits)%产生1个长为Lp的数据包:
    conv_out=convolutional_en(P_Tx);%(卷积编码):
    interleave_table = interleav_matrix(ones(1,2*(Lp+8)));
    interleav_out = interleaving(conv_out ,interleave_table);%(交织器)
    
    x=qpsk(interleav_out);%(4QAM 调制)
    L=length(x);%信号长度
    
    s=48;
    symbol_used_len=L/s;%把输入分为S个符号,每个符号长为symbol_used_len
    %循环前缀的长度
    cp=256;
    %每一个OFDM符号的抽样值应补‘0’个数zeros_pad
    zeros_pad=sub_carriers-symbol_used_len;
    %每一个OFDM符号一侧应该补‘0’个数zeros_pad_side
    zeros_pad_side=zeros_pad/2;
    
    %对输入信号进行分割,分割为s个符号,再对每个符号进行FFT运算,实现OFDM解调,并保证能量不变
    time_domain_x_link=[];
    for I=0:(s-1)
        %对输入进行分割 
        x_temp=x(I*symbol_used_len+1:I*symbol_used_len+symbol_used_len);
        %对每个分割的部分进行补零操作,使其长为sub_carriers
        x_temp_pad=[zeros(1,zeros_pad_side),x_temp,zeros(1,zeros_pad_side)];
        %对每个符号进行IFFT运算
        time_domain_x_temp=ifft(x_temp_pad)*sqrt(sub_carriers);
        %对每个符号添加循环前缀
        time_domain_x_cp_temp=[time_domain_x_temp(sub_carriers-cp+1:sub_carriers),time_domain_x_temp];
        %将符号连接成为串行数据流
        time_domain_x_link=[time_domain_x_link,time_domain_x_cp_temp];
    
    end
    sum_xI = real(time_domain_x_link);
    sum_xQ = imag(time_domain_x_link);
    
    figure;
    num=1000;%画出前num个点  
    xaxis   = zeros(length(time(1:num)));
    plot(time(1:num), sum_xI(1:num), 'b:', time(1:num), sum_xQ(1:num), 'g:', time(1:num), abs(sum_xI(1:num)+j*sum_xQ(1:num)), 'k-', time(1:num), xaxis, 'r-');
    ylabel('y'),xlabel('t'),
    title(['前', num2str(num),'个点经ifft的QAM符号实部之和虚部之和以及实部与虚部的绝对值波形']),
    legend('实部之和','虚部之和', '绝对值');

    3.与上面图片流程相符的代码

    代码前面的问题也是我在这个过程中遇到的,困扰了好久,可以带着问题看看。欢迎讨论。

    clc;
    clear;
    
    %————————————————————————————————————————————————————————%
    %q1:fft点数难道不是应该等于子载波数吗?子载波数与ifft点数的关系?
    %q2:对矩阵进行fft?
    %q3:怎么对ofdm信号上变频
    %q4:基带速率是多少?怎么实现?
    %q5传输频带是多少?怎么实现?
    %q6子载波间隔是多少?怎么实现?
    %q7符号周期是多少?怎么实现?
    %————————————————————————————————————————————————————————%
    
    %% 参数设置
    
    N_sc=52;      %系统子载波数(不包括直流载波)、number of subcarrier
    N_fft=64;            % FFT 长度
    N_cp=16;             % 循环前缀长度、Cyclic prefix
    N_symbo=N_fft+N_cp;        % 1个完整OFDM符号长度
    N_c=53;             % 包含直流载波的总的子载波数、number of carriers
    M=4;               %4PSK调制
    SNR=0:1:25;         %仿真信噪比
    N_frm=10;            % 每种信噪比下的仿真帧数、frame
    Nd=6;               % 每帧包含的OFDM符号数
    P_f_inter=6;      %导频间隔
    data_station=[];    %导频位置
    L=7;                %卷积码约束长度
    tblen=6*L;          %Viterbi译码器回溯深度
    stage = 3;          % m序列的阶数
    ptap1 = [1 3];      % m序列的寄存器连接方式
    regi1 = [1 1 1];    % m序列的寄存器初始值
    
    
    %% 基带数据数据产生
    P_data=randi([0 1],1,N_sc*Nd*N_frm);
    
    
    %% 信道编码(卷积码、或交织器)
    %卷积码:前向纠错非线性码
    %交织:使突发错误最大限度的分散化
    trellis = poly2trellis(7,[133 171]);       %(2,1,7)卷积编码
    code_data=convenc(P_data,trellis);
    
    
    %% qpsk调制
    data_temp1= reshape(code_data,log2(M),[])';             %以每组2比特进行分组,M=4
    data_temp2= bi2de(data_temp1);                             %二进制转化为十进制
    modu_data=pskmod(data_temp2,M,pi/M);              % 4PSK调制
    % figure(1);
    scatterplot(modu_data),grid;                  %星座图(也可以取实部用plot函数)
    
    %% 扩频
    %————————————————————————————————————————————————————————%
    %扩频通信信号所占有的频带宽度远大于所传信息必需的最小带宽
    %根据香农定理,扩频通信就是用宽带传输技术来换取信噪比上的好处,这就是扩频通信的基本思想和理论依据。
    %扩频就是将一系列正交的码字与基带调制信号内积
    %扩频后数字频率变成了原来的m倍。码片数量 = 2(符号数)* m(扩频系数)
    %————————————————————————————————————————————————————————%
    
    code = mseq(stage,ptap1,regi1,N_sc);     % 扩频码的生成
    code = code * 2 - 1;         %将1、0变换为1、-1
    modu_data=reshape(modu_data,N_sc,length(modu_data)/N_sc);
    spread_data = spread(modu_data,code);        % 扩频
    spread_data=reshape(spread_data,[],1);
    
    %% 插入导频
    P_f=3+3*1i;                       %Pilot frequency
    P_f_station=[1:P_f_inter:N_fft];%导频位置(导频位置很重要,why?)
    pilot_num=length(P_f_station);%导频数量
    
    for img=1:N_fft                        %数据位置
        if mod(img,P_f_inter)~=1          %mod(a,b)就是求的是a除以b的余数
            data_station=[data_station,img];
        end
    end
    data_row=length(data_station);
    data_col=ceil(length(spread_data)/data_row);
    
    pilot_seq=ones(pilot_num,data_col)*P_f;%将导频放入矩阵
    data=zeros(N_fft,data_col);%预设整个矩阵
    data(P_f_station(1:end),:)=pilot_seq;%对pilot_seq按行取
    
    if data_row*data_col>length(spread_data)
        data2=[spread_data;zeros(data_row*data_col-length(spread_data),1)];%将数据矩阵补齐,补0是虚载频~
    end;
    
    %% 串并转换
    data_seq=reshape(data2,data_row,data_col);
    data(data_station(1:end),:)=data_seq;%将导频与数据合并
    
    %% IFFT
    ifft_data=ifft(data); 
    
    %% 插入保护间隔、循环前缀
    Tx_cd=[ifft_data(N_fft-N_cp+1:end,:);ifft_data];%把ifft的末尾N_cp个数补充到最前面
    
    %% 并串转换
    Tx_data=reshape(Tx_cd,[],1);%由于传输需要
    
    %% 信道(通过多经瑞利信道、或信号经过AWGN信道)
     Ber=zeros(1,length(SNR));
     Ber2=zeros(1,length(SNR));
    for jj=1:length(SNR)
        rx_channel=awgn(Tx_data,SNR(jj),'measured');%添加高斯白噪声
        
    %% 串并转换
        Rx_data1=reshape(rx_channel,N_fft+N_cp,[]);
        
    %% 去掉保护间隔、循环前缀
        Rx_data2=Rx_data1(N_cp+1:end,:);
    
    %% FFT
        fft_data=fft(Rx_data2);
        
    %% 信道估计与插值(均衡)
        data3=fft_data(1:N_fft,:); 
        Rx_pilot=data3(P_f_station(1:end),:); %接收到的导频
        h=Rx_pilot./pilot_seq; 
        H=interp1( P_f_station(1:end)',h,data_station(1:end)','linear','extrap');%分段线性插值:插值点处函数值由连接其最邻近的两侧点的线性函数预测。对超出已知点集的插值点用指定插值方法计算函数值
    
    %% 信道校正
        data_aftereq=data3(data_station(1:end),:)./H;
    %% 并串转换
        data_aftereq=reshape(data_aftereq,[],1);
        data_aftereq=data_aftereq(1:length(spread_data));
        data_aftereq=reshape(data_aftereq,N_sc,length(data_aftereq)/N_sc);
        
    %% 解扩
        demspread_data = despread(data_aftereq,code);       % 数据解扩
        
    %% QPSK解调
        demodulation_data=pskdemod(demspread_data,M,pi/M);    
        De_data1 = reshape(demodulation_data,[],1);
        De_data2 = de2bi(De_data1);
        De_Bit = reshape(De_data2',1,[]);
    
    %% (解交织)
    %% 信道译码(维特比译码)
        trellis = poly2trellis(7,[133 171]);
        rx_c_de = vitdec(De_Bit,trellis,tblen,'trunc','hard');   %硬判决
    
    %% 计算误码率
        [err,Ber2(jj)] = biterr(De_Bit(1:length(code_data)),code_data);%译码前的误码率
        [err, Ber(jj)] = biterr(rx_c_de(1:length(P_data)),P_data);%译码后的误码率
    
    end
     figure(2);
     semilogy(SNR,Ber2,'b-s');
     hold on;
     semilogy(SNR,Ber,'r-o');
     hold on;
     legend('4PSK调制、卷积码译码前(有扩频)','4PSK调制、卷积码译码后(有扩频)');
     hold on;
     xlabel('SNR');
     ylabel('BER');
     title('AWGN信道下误比特率曲线');
    
     figure(3)
     subplot(2,1,1);
     x=0:1:30;
     stem(x,P_data(1:31));
     ylabel('amplitude');
     title('发送数据(以前30个数据为例)');
     legend('4PSK调制、卷积译码、有扩频');
    
     subplot(2,1,2);
     x=0:1:30;
     stem(x,rx_c_de(1:31));
     ylabel('amplitude');
     title('接收数据(以前30个数据为例)');
     legend('4PSK调制、卷积译码、有扩频');

    4.上面就是整个基带传输过程,其实上变频和下变频也很简单,将信号分为IQ路,分别乘cos和-sin即可,关于这一步,可以参考我另一篇8PSK调制的文章,在那篇文章里有相似的原理。链接:https://blog.csdn.net/qq_41687938/article/details/89514982和贼详细的8PSK调制与解调详细过程 - 子木的文章 - 知乎 https://zhuanlan.zhihu.com/p/47258287

    5.本来打算解释解释原理的,但是想着网上资料很多,就不献丑了,想打王者了~

    展开全文
  • 华中科技大学计算机组成原理慕课答案

    万次阅读 多人点赞 2020-01-26 00:09:18
    、单项选择题 1、下列说法中,错误的是( B ) A.固件功能类似软件,形态类似硬件 B.寄存器的数据位对微程序级用户透明 C.软件与硬件具有逻辑功能的等效性 D.计算机系统层次结构中,微程序属于硬件级 2、...

    有兴趣的话可以看看其他文章

    这可能是最简单的C语言单链表入门详解
    计算机组成原理 Cache超仔细详解 期末一遍过
    LeetCode刷题专栏
    蓝桥杯、ACM的一些基础通用模板
    一、单项选择题
    1、下列说法中,错误的是( B )
    A.固件功能类似软件,形态类似硬件
    B.寄存器的数据位对微程序级用户透明
    C.软件与硬件具有逻辑功能的等效性
    D.计算机系统层次结构中,微程序属于硬件级
    2、完整的计算机系统通常包括( A )
    A.硬件系统与软件系统
    B.运算器、控制器、存储器
    C.主机、外部设备
    D.主机和应用软件
    3、CPU地址线数量与下列哪项指标密切相关( B )
    A.运算精确度
    B.内存容量
    C.存储数据位
    D.运算速度
    4、下列属于冯•诺依曼计算机的核心思想是( C )
    A.采用补码
    B.采用总线
    C.存储程序和程序控制
    D.存储器按地址访问
    5、计算机中表示地址时使用( A )
    A.无符号数
    B.反码
    C.补码
    D.原码
    6、当 -1 < x < 0时, [x]补=( C )
    A. x
    B.1-x
    C.2+x
    D.2-x
    7、假设寄存器为8位,用补码形式存储机器数,包括一位符号位,那么十进制数一25在寄存器中的十六进制形式表示为( C )
    A.99H
    B.67H
    C.E7H
    D.E6H
    8、如果某系统15*4=112成立,则系统采用的进制是( C )
    A.9
    B.8
    C.6
    D.7
    9、某十六进制浮点数A3D00000中最高8位是阶码(含1位阶符),尾数是最低24位(含1位数符),若阶码和尾数均采用补码,则该浮点数的十进制真值是( A )
    A.-0.375×2^(-93)
    B.-0.375×2^(-35)
    C. -0.625×2^(-93)
    D.0.625×2^(-35)
    10、存储器中地址号分别为1000#、1001#、1002#、1003的4个连续存储单元,分别保存的字节数据是1A、2B、3C、4D,如果数据字长为32位,存储器采用的是小端对齐模式,则这4个存储单元存储的数据值应被解析为( A )
    A.4D3C2B1A
    B.A1B2C3D4
    C.D4C3B2A1
    D.1A2B2C3D
    11、字长8位的某二进制补码整数为11011010,则该数的标准移码是( B )
    A.11011010
    B.01011010
    C.00111010
    D.10111010
    12、对于IEEE754格式的浮点数,下列描述正确的是( D )
    A.阶码和尾数都用补码表示
    B.阶码用移码表示,尾数用补码表示
    C.阶码和尾数都用原码表示
    D.阶码用移码表示,尾数用原码表示
    13、对字长为8位的二进制代码10001101,下列说法错误的是( C )
    A.如果代码为无符号数,则其十进制真值为+141
    B.如果代码为补码数,则其十进制真值为-115
    C.如果代码为标准移码数,则其十进制真值为+115
    D.如果代码为原码数,则其十进制真值为-13
    14、若浮点数的尾数是用5位补码来表示的,则下列尾数中规格化的尾数是( B )
    A.01011和11010
    B.10000和01001
    C.01100和11110
    D.11011和01011
    15、若浮点数的尾数是用5位补码来表示(其中符号位1位),则下列尾数中规格化的尾数是( B )
    A.11011和01011
    B.10000和01001
    C.01011和11010
    D.01100和11110
    16、下列关于补码和移码关系的描述中,错误的是( C )
    A.同一个数的补码和移码,其数值部分相同,而符号相反
    B.相同位数的补码和移码具有相同的数据表示范围
    C.零的补码和移码相同
    D.一般用移码表示浮点数的阶码,而用补码表示定点数
    17、执行算术右移指令的操作过程是( C )
    A.进位标志移至符号位,各位顺次右移1位
    B.操作数的符号位填0,各位顺次右移1位
    C.操作数的符号位不变,各位顺次右移1位,符号位拷贝至最高数据位
    D.操作数的符号位填1,各位顺次右移1位
    18、原码除法是指( D )
    A.操作数用补码表示并进行除法,但商用原码表示
    B.操作数用绝对值表示,加上符号位后相除
    C.操作数用原码表示,然后相除
    D.操作数取绝对值相除,符号位单独处理
    19、对8位补码操作数A5H,进行二位算术右移后的十六进制结果为( C )H
    A.52
    B.D2
    C.E9
    D.69
    20、在定点二进制运算器中,减法运算一般通过( D )来实现
    A.补码运算的二进制减法器
    B.反码运算的二进制加法器
    C.原码运算的二进制减法器
    D.补码运算的二进制加法器
    21、浮点数加减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均包含2位符号位)。若有两个数X = 2^7 ´ 29/32 ,Y= 2^5 ´ 5/8,则用浮点加法计算X+Y 的最终结果是( C )
    A.00111 1100010
    B.01000 0010001
    C.溢出
    D.00111 0100010
    22、 若浮点数用补码表示,则判断运算结果是否为规格化数的方法是( B )
    A.阶符与数符相同
    B.数符与尾数小数点后第一位数字相异
    C.阶符与数符相异
    D.数符与尾数小数点后第一位数字相同
    23、在定点运算器中,为判断运算结果是否发生错误,无论采用双符号位还是单符号位,均需要设置( A ),它一般用异或门来实现
    A.溢出判断电路
    B.编码电路
    C.译码电路
    D.移位电路
    24、已知A=0.1011,B= -0.0101,则[A+B]补 为( B )
    A.1.1011
    B.0.0110
    C.1.0110
    D.0.1101
    25、下列说法错误的是(A )
    A.补码乘法器中,被乘数和乘数的符号都不参加运算
    B.在小数除法中,为了避免溢出,要求被除数的绝对值小于除数的绝对值
    C.并行加法器中虽然不存在进位的串行传递,但高位的进位依然依赖于数据的低位
    D.运算器中通常都有一个状态标记寄存器,为计算机提供判断条件,以实现程序转移
    26、以下关于ALU的描述正确的是(A )
    A.能完成算术与逻辑运算
    B.不能支持乘法运算
    C.只能完成逻辑运算
    D.只能完成算术运算
    27、在计算机中,对于正数,其三种机器数右移后符号位均不变,但若右移时最低数位丢1,可导致( B )
    A.无任何影响
    B.影响运算精度
    C.无正确答案
    D.运算结果出错
    28、CPU可直接访问的存储器是(A )
    A.主存
    B.磁盘
    C.光盘
    D.磁带
    29、计算机字长32位,主存容量为128MB,按字编址,其寻址范围为( D )
    A.0 ~ 128M-1
    B.0 ~ 64M-1
    C.0 ~ 16M-1
    D.0 ~ 32M-1
    30、字位结构为256Kx4位SRAM存储芯片,其地址引脚与数据引脚之和为( B )
    A.24
    B.22
    C.18
    D.30
    31、某SRAM芯片,存储容量为64K×16位,该芯片的地址线和数据线数目分别为(D )
    A.64,16
    B.16,64
    C.64 , 64
    D.16,16
    32、假定用若干块4K 4位的存储芯片组成一个8K8位的存储器,则地址0B1F所在芯片的最小地址是( D )
    A.0600H
    B.0700H
    C.0B00H
    D.0000H
    33、计算机系统中的存贮器系统是指(B )
    A.RAM和ROM存贮器
    B.Cache、主存贮器和外存贮器
    C.Cache
    D.磁盘存储器
    34、动态存储器刷新以 ( D ) 为单位进行
    A.字节
    B.存储单元
    C.列
    D.行
    35、下列存储器类型中,速度最快的是( B )
    A.Flash Memory
    B.SRAM
    C.DRAM
    D.EPROM
    36、某计算机字长 32位,下列地址属性中属于按双字长边界对齐的是( B )
    A.存储器地址线低二位全部为0
    B.存储器地址线低三位全部为0
    C.存储器地址线最低为0
    D.存储器地址线低三位取值随意
    37、在32位的机器上存放0X12345678,假定该存储单元的最低字节地址为0X4000,则在小端存储模式下存在在0X4002单元的内容是( B )
    A.0X12
    B.0X34
    C.0X56
    D.0X78
    38、在虚存、内存之间进行地址变换时,功能部件 ( B )将地址从虚拟(逻辑)地址空间映射到物理地址空间
    A.DMA
    B.MMU
    C.Cache
    D.TLB
    39、在程序执行过程中,Cache与主存的地址映象是由( A )
    A.硬件自动完成
    B.操作系统完成
    C.编译系统完成
    D.用户编写程序完成
    40、在 Cache的地址映射中, 若主存中的任意一块均可映射到Cache内任意一行的位置上, 则这种映射方法称为( B )
    A.直接映射
    B.全相联映射
    C.2-路组相联映射
    D.混合映射
    41、采用虚拟存储器的主要目的是( A )
    A.扩大主存储器的存储空间, 且能进行自动管理和调度
    B.提高主存储器的存取速度
    C.扩大外存储器的存储空间
    D.提高外存储器的存取速度
    42 、虚拟存储器中,程序执行过程中实现虚拟地址到物理地址映射部件(系统)是( C )
    A.应用程序完成
    B.编译器完成
    C.操作系统和MMU配合完成
    D.MMU完成
    43、 相联存储器是按( D )进行寻址访问的存储器
    A.地址
    B.队列
    C.堆栈
    D.内容
    44、以下哪种情况能更好地发挥Cache的作用( C )
    A.递归子程序
    B.程序的大小不超过内存容量
    C.程序具有较好的时间和空间局部性
    D.程序中存在较多的函数调用
    45、以下关于虚拟存储管理地址转换的叙述中错误的是( B )
    A.MMU在地址转换过程中要访问页表项
    B.一般来说,逻辑地址比物理地址的位数少
    C.地址转换是指把逻辑地址转换为物理地址
    D.地址转换过程中可能会发生“缺页”
    46、假定主存按字节编址,cache共有64行,采用4路组相联映射方式,主存块大小为32字节,所有编号都从0开始。问主存第3000号单元所在主存块对应的cache组号是( A )
    A.13
    B.29
    C.1
    D.5
    47、下列关于MMU的叙述中,错误的是( C )
    A.MMU是存储管理部件
    B.MMU参与虚拟地址到物理地址的转换
    C.MMU负责主存地址到Cache地址的映射
    D.MMU配合使用TLB 地址转换速度更快
    48、下列关于主存与cache地址映射方式的叙述中正确的是( A )
    A.在Cache容量相等条件下,组相联方式的命中率比直接映射方式有更高的命中率
    B.直接映射是一对一的映射关系,组相联映射是多对一的映射关系
    C.在Cache容量相等条件下,直接映射方式的命中率比组相联方式有更高的命中率
    D.全相联映射方式比较适用于大容量Cache
    49、下列关于CaChe的说法中,错误的是( C )
    A.CaChe行大小与主存块大小一致
    B.分离CaChe(也称哈佛结构)是指存放指令的CaChe与存放数据CaChe分开设置
    C.读操作也要考虑CaChe与主存的一致性问题
    D.CaChe对程序员透明
    50、下列关于CaChe的论述中,正确的是( B )
    A.CaChe的容量与主存的容量差距越大越能提升存储系统的等效访问速度
    B.采用直接映射时,CaChe无需使用替换算法
    C.加快CaChe本身速度,比提高CaChe命中率更能提升存储系统的等效访问速度
    D.采用最优替换算法,CaChe的命中率可达到100%
    51、某计算机系统中,CaChe容量为512 KB,主存容量为256 MB,则CaChe 一主存层次的等效容量为( A )
    A.256 MB
    B.256 MB - 512 KB
    C.512 KB
    D.256 MB+512 KB
    52、以下四种类型指令中,执行时间最长的是( C ) (单选)
    A.RS型指令
    B.RR型指令
    C. SS型指令
    D.程序控制类指令
    53、程序控制类指令的功能是( B ) (单选 )
    A.进行主存与CPU之间的数据传送
    B.改变程序执行的顺序
    C.进行CPU和I/O设备之间的数据传送
    D.进行算术运算和逻辑运算
    54、下列属于指令系统中采用不同寻址方式的目的主要是( B )(单选)
    A.丰富指令功能并降低指令译码难度
    B.缩短指令长度,扩大寻址空间,提高编程灵活性
    C.为了实现软件的兼容和移植
    D.为程序设计者提供更多、更灵活、更强大的指令
    55、寄存器间接寻址方式中,操作数存放在( C )中 (单选)
    A.指令寄存器
    B.数据缓冲寄存器MDR
    C.主存
    D.通用寄存器
    56、指令采用跳跃寻址方式的主要作用是( A ) (单选)
    A.实现程序的有条件、无条件转移
    B.实现程序浮动
    C.实现程序调用
    D.访问更大主存空间
    57、下列寻址方式中,有利于缩短指令地址码长度的是 ( C ) (单选)
    A.间接寻址
    B.直接寻址
    C.隐含寻址
    D.寄存器寻址
    58、假设某条指令的一个操作数采用寄存器间接寻址方式,假定指令中给出的寄存器编号为8,8号寄存器的内容为1200H,地址1200H中的内容为12FCH,地址12FCH中的内容为3888H,地址3888H中的内容为88F9H.则该操作数的有效地址为( A ) (单选)
    A.1200H
    B.88F9H
    C.12FCH
    D.3888H
    59、某计算机按字节编址,采用大端方式存储信息。其中,某指令的一个操作数的机器数为ABCD 00FFH,该操作数采用基址寻址方式,指令中形式地址(用补码表示)为FF00H,当前基址寄存器的内容为C000 0000H,则该操作数的LSB(即该操作数的最低位FFH)存放的地址是( C ) (单选)
    A.C000 FF00H
    B.C000 FF03H
    C.BFFF FF03H
    D.BFFF FF00H
    60 、假定指令地址码给出的是操作数所在的寄存器的编号,则该操作数采用的寻址方式是( D )(单选)
    A.寄存器间接寻址
    B.直接寻址
    C.间接寻址
    D.寄存器寻址
    61 、相对寻址方式中,操作数有效地址通过( A )与指令地址字段给出的偏移量相加得到 (单选)
    A.程序计数器的值
    B.基址寄存器的值
    C.变址寄存器的值
    D.段寄存器的值
    62、下列关于二地址指令的叙述中,正确的是( C ) (单选)
    A.地址码字段一定是操作数
    B.地址码字段一定是操作数的直接地址
    C.运算结果通常存放在其中一个地址码所指向的位置
    D.地址码字段一定是存放操作数的寄存器编号
    63、下列选项中不会直接成为影响指令长度的是( D )(单选)
    A.指令中地址码字段的长度
    B.指令中操作码字段的长度
    C.指令中地址码字段的个数
    D.通用寄存器的位数
    64、通常情况下,不包含在中央处理器(CPU)芯片中的部件是( C ) (单选)
    A.ALU
    B.控制器
    C.DRAM
    D.寄存器
    65、一定不属于冯•诺依曼机体系结构必要组成部分的是( B )(单选)
    A.RAM
    B.Cache
    C.ROM
    D.CPU
    66、 冯•诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU依据( D )来区分它们(单选)
    A.指令和数据的地址形式不同
    B.指令和数据的寻址方式不同
    C.指令和数据的表示形式不同
    D.指令和数据的访问时间不同
    67、指令寄存器的位数取决于( B )。(单选)
    A.存储字长
    B.指令字长
    C.机器字长
    D.存储器的容量
    68、下列寄存器中,对汇编语言程序员不透明的是( A )(单选)
    A.条件状态寄存器
    B.存储器数据寄存器(MDR)
    C.存储器地址寄存器(MAR)
    D.程序计数器(PC)
    69、PC存放的是下一条指令的地址,故PC的位数与( B )的位数相同
    A.指令寄存器IR
    B.主存地址寄存器MAR
    C.程序状态字寄存器PSWR
    D.指令译码器ID
    70、在控制器的控制方式中,机器周期内的时钟周期个数可以不相同,这种控制方式属于( C )。(单选)
    A.同步控制
    B.联合控制
    C.异步控制
    D.分散控制
    71、下列不属于控制器功能的是( B ) (单选)
    A.操作控制
    B.算术与逻辑运算
    C.指令的顺序控制
    D.异常控制
    72、当CPU内部cache发生缺失时,CPU如何处理( A ) (单选)
    A.等待数据载入
    B.进程调度
    C.进行异常处理
    D.执行其他指令
    73、用以指定待执行指令所在主存地址的寄存器是( D )。(单选)
    A.数据缓冲寄存器
    B.存储器地址寄存器MAR
    C.指令寄存器IR
    D.程序计数器PC
    74、下列关于微程序和微指令的叙述中( A )是正确的。(单选)
    A.微程序控制器比硬连线控制器相对灵活
    B.同一条微指令可以发出互斥的微命令
    C.控制器产生的所有控制信号称为微指令
    D.微程序控制器的速度一般比硬布线控制快
    75某计算机采用微程序控制器的微指令格式采用编码方式组织,某互斥命令组由4个微命令组成,则微指令寄存器中相应字段的位数至少需( D )。 (单选)
    A.2
    B.4
    C.5
    D.3
    76、多周期CPU中,下列有关指令和微指令之间关系的描述中,正确的是( A )。(单选)
    A.一条指令的功能通过执行一个微程序来实现
    B.一条指令的功能通过执行一条微指令来实现
    C.通过指令的寻址方式实现指令与微程序的映射
    D.通过指令的形式地址字段实现指令与微程序的映射
    77、相对于微程序控制器,硬布线控制器的特点是( C )(单选)
    A.指令执行速度慢,指令功能的修改和扩展容易
    B.指令执行速度快,指令功能的修改和扩展容易
    C.指令执行速度快,指令功能的修改和扩展难
    D.指令执行速度慢,指令功能的修改和扩展难
    78、从信息流的传送效率来看,( D )工作效率最低。
    A.双总线系统
    B.多总线系统
    C.三总线系统
    D.单总线系统
    79、系统总线地址的功能是( C )。
    A.选择主存单元地址
    B.选择外存地址
    C.指定主存和I / O设备接口电路的地址
    D.选择进行信息传输的设备
    80、IEEE1394的高速特性适合于新型高速硬盘和多媒体数据传送,它的数据传输率最高可以达到( C )。
    A.200 Mb/秒
    B.100 Mb/秒
    C.400 Mb/秒
    D.300 Mb/秒
    81、异步控制常用于( C )作为其主要控制方式。
    A.微程序控制器中
    B.微型机的CPU中
    C.在单总线结构计算机中访问主存与外围设备时
    D.硬布线控制器中
    82、当采用( A )对设备进行编址情况下,不需要专门的I/O指令。
    A.统一编址法
    B.单独编址法
    C.两者都是
    D.两者都不是
    83、8086 CPU对I/O接口的编址采用了( B )。
    A.I/O端口和存储器统一编址
    B.I/O端口独立编址
    C.输入/输出端口分别编址
    D.I/O端口和寄存器统一编址
    84、中断向量地址是( D )。
    A.子程序入口地址
    B.中断服务例行程序入口地址
    C.中断返回地址
    D.中断服务例行程序入口地址的指示器
    85、为了便于实现多级中断,保存现场信息最有效的办法是采用( A )。
    A.堆栈
    B.通用寄存器
    C.外存
    D.存储器
    86、在单级中断系统中,CPU一旦响应中断,则立即关闭( B )标志,以防本次中断服务结束前同级的其他中断源产生另一次中断进行干扰。
    A.中断请求
    B.中断屏蔽
    C.中断保护
    D.中断允许
    87、通道对CPU的请求形式是( C )。
    A.跳转指令
    B.通道命令
    C.中断
    D.自陷

    二填空题(每空2分,共20分)
    1、访问256KB的存储空间,需要的地址线数最少为( 18 )根? (只需要填阿拉伯数字)
    2、程序必须存放在哪里才能被CPU访问并执行(主存或CACHE )请输入答案
    3、某计算机指令集中共有A、B、C、D四类指令,它们占指令系统的比例分别为40% 、20%、20%、20%, 各类指令的CPI分别为 2、3、4、5;该机器的主频为600MHZ,则该机的MIPS为( 187.5 )(保留到小数点后一位)
    4、存放一个24 * 24点阵汉字,至少需要多少字节的存储空间 (只需要填写十进数)(72)请输入答案
    5、设机器字长为16位,定点表示时,数据位15位,符号位1位,则定点原码表示时能表示的最小负数为 (填写十进制数,要带符号,且符号与数字间不能有空格)请输入答案(-2^15+1)将一个十进制数-129表示成补码时,至少应采用多少位二进制数(9
    6、已知[X]补 = 1101001 , [Y]补 = 1101010, 则用变形补码计算2[X]补 +1/2 [Y]补的结果为 (直接填二进制数即可,数字间不留空格)
    请输入答案(1000111
    7、计算机字长为8位,若 x = - 1101101,则 [x/4]补 的值为 (直接填写二进制数)请输入答案(11100100
    8、移码表示法主要用于表示浮点数的(直接填汉字即可)(移码
    9、某计算机主存容量为64K * 16,其中ROM区为4K,其余为RAM区,按字节编址。现要用2K * 8位的ROM芯片和4K * 8位的RAM来设计该存储器,则需要RAM芯片数是 (填写阿拉伯数字即可)(15)请输入答案
    10、设A=0x123456,计算机内存地址为由低到高。则采用小端方式下,最高地址存放的内容为(只填写2位阿拉伯数字)(12
    请输入答案
    11、某计算机存储器按照字节编址,采用小端方式存储数据,假定编译器规定int和short型长度分别为32位和16位,并且数据按照边界对齐存储。 某C语言的程序段如下:
    struct
    {
    int a;
    char b;
    short c;
    } record;
    record.a = 273;
    若record变量的首地址为0xC008,则地址0xC008的内容是0X ( 11) (只填写2个阿拉伯数字)
    12、在请求分页存储管理方案中, 若某用户空间为16个页面, 页 长 1 K B,虚页号0、1、2、3、4对应的物理页号分别为1、5、3、7、2。则逻辑地址A2CH所对应的物理地址为(E2C )H (只需填数字和字母,不需要在最后带H,如有字母一定要大写,字母之间以及字母和数字间不留空格)请输入答案
    13、假定主存按字节编址,cache共有64行,采用直接映射方式,主存块大小为32字节,所有编号都从0开始。问主存第3000号单元所在主存块映射到的cache行号是( 29 )。(本题中的数字都是十进制数,答案也填十进制数)请输入答案
    14、计算机主存容量8MB,分为4096个主存块,Cache数据区容量为64KB,若Cache采用直接映射方式,则Cache的总行数为 ( 只需要填写阿拉伯数字 )(32)请输入答案
    15、某计算机为定长指令字结构,采用扩展操作码编码方式,指令长度为16位,每个地 址码占4位,若已设计三地址指令15条,二地址指令8条,一地址指令127条,则剩下的零地址指令最多有( 16 )条. (只需要填阿拉伯数字)请输入答案
    16、在变址寻址方式中,若变址寄存器的内容是4E3CH,指令中给出的偏移量为63H,则数据的有效地址为 ( 4E9F )H (只需要填阿拉伯数字和大写字母,共需4位) 请输入答案
    17、某计算机采用双字节长指令,指令中形式地址字段8位 ,指令中的数据采用补码表示,且PC的值在取指阶段完成修改。 某采用相对寻址的指令的当前地址和转移后的目标地址分别为为2008和 2001(均为10进制数),则该指令的形式地址字段的值为(F7 )H (只需要填阿拉伯数字和大写字母,共需2位)

    展开全文
  • 什么是MIMO-OFDM技术

    千次阅读 2019-04-08 12:55:47
    什么是MIMO-OFDM技术 摘要 第四代移动通信提供高的数据传输速率,而MIMO和OFDM提高了频谱效率,从而提供高传输速率和系统容量的技术。两者的结合已经成为第四代移动通信...、引言 目前没有第四代移动通信的确切...

    什么是MIMO-OFDM技术
    摘要
    第四代移动通信提供高的数据传输速率,而MIMO和OFDM提高了频谱效率,从而提供高传输速率和系统容量的技术。两者的结合已经成为第四代移动通信技术研究中的热点。通过这两种技术的优势互补,可以为系统提供高传输速率,同时也能提高系统容量,降低成本。文中详细介绍了这两种技术及信道估计。

    图1. 采用MIMO-OFDM技术的新标准。
    一、引言
    目前没有第四代移动通信的确切定义,但比较认同的解释是:“第四代移动通信的概念可称为宽带接入和分布网络,具有非对称的和超过2Mbit/s的数据传输能力。它包括宽带无线固定接入、宽带无线局域网、移动宽带系统、互操作的广播网络和卫星系统等。此外,第四代移动通信系统将是多功能集成的宽带移动通信系统,可以提供的数据传输速率高达100Mbit/s甚至更高,也是宽带接入IP系统”。简单而言,4G是一种超高速无线网络,一种不需要电缆的信息超级高速公路。这样在有限的频谱资源上实现高速率和大容量,需要频谱效率极高的技术。MIMO技术充分开发空间资源,利用多个天线实现多发多收,在不需要增加频谱资源和天线发送功率的情况下,可以成倍地提高信道容量。OFDM技术是多载波传输的一种,其多载波之间相互正交,可以高效地利用频谱资源,另外,OFDM将总带宽分割为若干个窄带子载波可以有效地抵抗频率选择性衰落。因此充分开发这两种技术的潜力,将二者结合起来可以成为新一代移动通信核心技术的解决方案,下面详细介绍这两种技术及其二者的结合方案。
    二、MIMO技术
    MIMO(Multiple-InputMultiple-Output)系统示意图如图1所示,该技术最早是由Marconi于1908年提出的,它利用多天线来抑制信道衰落。MIMO技术是指在发射端和接收端分别设置多副发射天线和接收天线,其出发点是将多发送天线与多接收天线相结合以改善每个用户的通信质量(如差错率)或提高通信效率(如数据速率)。MIMO技术实质上是为系统提供空间复用增益和空间分集增益,空间复用技术可以大大提高信道容量,而空间分集则可以提高信道的可靠性,降低信道误码率。通常,多径要引起衰落,因而被视为有害因素,然而对于MIMO来说,多径可以作为一个有利因素加以利用,MIMO技术的关键是能够将传统通信系统中存在的多径衰落影响因素变成对用户通信性能有利的增强因素,MIMO技术有效地利用随机衰落和可能存在的多径传播来成倍地提高业务传输速率,因此它能够在不增加所占用的信号带宽的前提下使无线通信的性能改善几个数量级。假定发送端有N个发送天线,有M个接收天线,在收发天线之间形成M×N信道矩阵H,在某一时刻t,信道矩阵为:

    其中H的元素是任意一对收发天线之间的增益。对于信道矩阵参数确定的MIMO信道,假定发送端不知道信道信息,总的发送功率为 ,与发送天线的数量M无关;接收端的噪声用N×1向量n表示,是独立零均值高斯复变量,各个接收天线的噪声功率均为 ;发送功率平均分配到每一个发送天线上,则容量公式为:
    
    令M不变,增大N,使得 ,这时可以得到容量的近似表达式:
    
    从上式可以看出,此时的信道容量随着天线数量的增大而线性增大。也就是说可以利用MIMO信道成倍地提高无线信道容量,在不增加带宽和天线发送功率的情况下,频谱利用率可以成倍地提高。利用MIMO技术可以成倍提高信道的容量,同时也可以提高信道的可靠性,降低误码率。前者是利用MIMO信道提供的空间复用增益,后者是利用MIMO信道提供的空间分集增益。目前MIMO技术领域另一个研究热点就是空时编码。常见的空时码有空时块码、空时格码。空时码的主要思想是利用空间和时间上的编码实现一定的空间分集和时间分集,从而降低信道误码率。
    
    图1 MIMO系统框图
    三、OFDM技术
    根据多径信道在频域中表现出来的频率选择性衰落特性,提出正交频分复用的调制技术。如图2所示,正交频分复用的基本原理是把高速的数据流通过串并变换,分配到传输速率相对较低的若干子信道中进行传输,在频域内将信道划分为若干互相正交的子信道,每个子信道均拥有自己的载波分别进行调制,信号通过各个子信道独立传输。如果每个子信道的带宽被划分得足够窄,每个子信道的频率特性就可近似看作是平坦的,即每个子信道都可看作无符号间干扰(ISI)的理想信道,这样在接收端不需要使用复杂的信道均衡技术即可对接收信号可靠地解调。在OFDM系统中,在OFDM符号之间插入保护间隔来保证频域子信道之间的正交性,消除OFDM符号之间的干扰。
    但是要注意,在发送端实际发送1个OFDM时域序列的长度为Nd+Nc,Nd是一个OFDM符号能够传送的频域符号数,加在前面长度为Nc的序列称为循环前缀(CyclicPrefix)或防护间隔(GuardInterval),利用它使得前—OFDM符号对当前OFDM符号的干扰只影响到循环前缀部分,不会对当前OFDM符号造成影响,这就有效地消除了OFDM符号之间的干扰(ISI)。引入循环前缀会使系统的传输效率有所下降,但这是为保证OFDM子载波之间的正交性和消除OFDM符号间干扰所必须付出的代价。OFDM技术之所以越来越受关注,是因为OFDM有很多独特的优点:
    (1)频谱利用率很高,频谱效率比串行系统高近一倍。这一点在频谱资源有限的无线环境中很重要。OFDM信号的相邻子载波相互重叠,从理论上讲其频谱利用率可以接近Nyquist极限。
    (2)抗多径干扰与频率选择性衰落能力强,由于OFDM系统把数据分散到许多个子载波上,大大降低了各子载波的符号速率,从而减弱多径传播的影响,若再通过采用加循环前缀作为保护间隔的方法,甚至可以完全消除符号间干扰。
    (3)采用动态子载波分配技术能使系统达到最大比特率。通过选取各子信道,每个符号的比特数以及分配给各子信道的功率使总比特率最大。即要求各子信道信息分配应遵循信息论中的“注水定理”,亦即优质信道多传送,较差信道少传送,劣质信道不传送的原则。
    (4)通过各子载波的联合编码,可具有很强的抗衰落能力。OFDM技术本身已经利用了信道的频率分集,如果衰落不是特别严重,就没有必要再加时域均衡器。但通过将各个信道联合编码,可以使系统性能得到提高。
    (5)基于离散傅立叶变换(DFT)的OFDM有快速算法,OFDM采用IFFT和FFT来实现调制和解调,易用DSP实现。
    
    图2 OFDM系统框图
    四、MIMO与OFDM的结合
    MIMO系统在一定程度上可以利用传播中多径分量,也就是说MIMO可以抗多径衰落,但是对于频率选择性深衰落,MIMO系统依然是无能为力。目前解决MIMO系统中的频率选择性衰落的方案一般是利用均衡技术,还有一种是利用OFDM。大多数研究人员认为OFDM技术是4G的核心技术,4G需要极高频谱利用率的技术,而OFDM提高频谱利用率的作用毕竟是有限的,在OFDM的基础上合理开发空间资源,也就是MIMO-OFDM,可以提供更高的数据传输速率。另外ODFM由于码率低和加入了时间保护间隔而具有极强的抗多径干扰能力。由于多径时延小于保护间隔,所以系统不受码间干扰的困扰,这就允许单频网络(SFN)可以用于宽带OFDM系统,依靠多天线来实现,即采用由大量低功率发射机组成的发射机阵列消除阴影效应,来实现完全覆盖。下面给出MIMO-OFDM的结合方案。
    

    点击查看大图

    图3 MIMO-OFDM系统框图
    在本方案中的数据进行两次串并转换,首先将数据分成N个并行数据流,将这N个数据流中的第n(n∈[1,N])个数据流进行第二次串并转换成L个并行数据流,分别对应L个子载波,将这L个并行数据流进行IFFT变换,将信号从频域转换到时域,然后从第n(n∈[1,N])个天线上发送出去。这样共有NL个M-QAM符号被发送。整个MIMO系统假定具有N个发送天线,M个接收天线。在接收端第m(m∈[1,M])个天线接收到的第l个子载波的接收信号为:
    
    其中Hm,n,l是第l个子载波频率上的从第n个发送天线到第m个接收天线之间的信道矩阵,并且假定该信道矩阵在接收端是已知的,Cn,l是第个子载波频率上的从第n个发送天线发送的符号,ηm,l是第l个子载波频率上的从第m个接收天线接收到的高斯白噪声。这样在接收端接收到的第l个子载波频率上的N个符号可以通过V-BLAST算法进行解译码,重复进行L次以后,NL个M-QAM符号可以被恢复。
    4.1MIMO-OFDM的信道估计
    在一个传输分集的OFDM系统中,只有在收端有很好的信道信息时,空时码才能进行有效的解码。估计信道参数的难度在于,对于每一个天线每一个子载波都对应多个信道参数。但好在对于不同的子载波,同一空分信道的参数是相关的。根据这一相关性,可以得到参数的估计方法。MIMO-OFDM系统信道估计方法一般有三种:非盲信道估计、盲信道估计和半盲信道估计。下面分别对这三种信道估计方法进行简单介绍。
    4.1.1非盲信道估计
    非盲信道估计是通过在发送端发送导频信号或训练序列,接收端根据所接收的信号估计出导频处或训练序列处的信道参数,然后根据导频或训练序列处的信道参数得到数据信号处的信道参数。当信道为时变信道时,即使是慢时变信道,也必须周期性的发射训练序列,以便及时更新信道估计。这类方法的好处是估计误差小,收敛速度快,不足是由于发送导频或训练序列而浪费了一定的系统资源。
    4.1.2盲信道估计
    盲信道估计是利用信道的输出以及与输入有关的统计信息,在无需知道导频或训练序列的情况下估计信道参数。其好处是传输效率高,不足是鲁棒性相对较差、收敛速度慢,而且运算量较大。
    4.1.3半盲信道估计
    半盲信道估计是在盲信道估计的基础上发展起来的,它利用尽量少的导频信号或训练序列来确定盲信道估计算法所需的初始值,然后利用盲信道估计算法进行跟踪、优化,获得信道参数。由于盲信道算法运算复杂度较高,目前还存在很多问题,难以实用化。而半盲信道估计算法有望在非盲算法和盲算法的基础上进行折衷处理,从而降低运算复杂度。可以预计,对盲及半盲信道估计的研究将成为MIMO-OFDM信道估计研究的热点。
    五、结束语
    在未来的宽带无线通信系统中存在两个最严峻的挑战:多径衰落信道和带宽效率。OFDM将频率选择性多径衰落信道在频域内转换为平坦信道,减小了多径衰落的影响,而MIMO技术能够在空间中产生独立的并行信道同时传输多路数据流,这样就有效地提高了系统的传输速率,即在不增加系统带宽的情况下增加频谱效率。这样,将OFDM和MIMO两种技术相结合就能达到两种效果:一种是实现很高的传输速率,另一种是通过分集实现很强的可靠性,同时,在MIMO-OFDM中加入合适的数字信号处理的算法能更好地增强系统的稳定性。MIMO-FDM技术是OFDM与MIMO技术结合形成的新技术,通过在OFDM传输系统中采用阵列天线实现空间分集,提高了信号质量,充分利用了时间、频率和空间3种分集技术,大大增加了无线系统对噪声、干扰、多径的容限。因此,基于OFDM的MIMO系统具有逼近极限的系统容量和良好的抗衰落特性,可以预见,它将是下一代网络采用的核心技术。
    
    展开全文
  • 数据可视化都有个共同的目的,那就是准确而高效、精简而全面地传递信息和知识。可视化能将不可见的数据现象转化为可见的图形符号,能将错综复杂、看起来没法解释和关联的数据,建立起联系和关联,发现规律和特征,...
  • 问题:在32位机器上输出si, usi, i, ui的十进制(真值)和十六进制值(补码机器数)是什么? short si = -32768; unsigned short usi = si; int i = si; unsingned ui = usi ; 以下为程序验证代码和结果: #...
  • 汇编——无符号大小和有符号大小

    万次阅读 多人点赞 2018-05-09 15:22:54
    其大小的比较的规律符号数 ( 只要看进位标志位 CF 的值 ) 要更复杂 , 它不能仅仅只看个状态标志位——符号标志位 SF, 还得要看另外个重要的标志位——溢出标志位 (OF), 应该归纳如下 :   1) 无符号数的...
  • c语言和汇编语言的区别

    万次阅读 多人点赞 2016-11-04 17:57:16
    尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
  • 符号数和无符号数的转换及思考

    万次阅读 多人点赞 2016-09-16 21:00:51
    1 有符号数和无符号数的表示三者的最高位均为符号位.我以前一直没弄明白的是为何8位补码的表示范围是-128~127, 今天查阅了相关资料,于此记下。仍然以8位为例:原码原码的表示范围-127~-0, +0~+127, 共256个数字。正...
  • 数学符号大全 不出就复制吧

    万次阅读 2013-04-10 21:07:18
    虽然在Mathtype能输入绝大多数想要的数学字符... 1、几何符号   ⊥ ∥ ∠ ⌒ ⊙ ≡ ≌ △  2、代数符号   ∝ ∧ ∨ ~ ∫ ≠ ≤ ≥ ≈ ∞ ∶  3、运算符号   如加号(+),
  • 原理:当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。 实例代码: #include #include int main() { int i=100; int j=-1; if(i){ printf("i 是有符号数\n"); }else{ if...
  • ofdm系统简单模块介绍

    千次阅读 2018-12-07 23:43:02
    OFDM系统主要功能模块: ...多径效应:信号传输路径不一,接收端收到的信号强度不同,造成空间选择性衰落,产生多径时延,引起符号间干扰ISI,增大了系统的自干扰。 频率选择性衰落:不同频率在相同空间的衰落...
  • matlab的符号变量sym,syms

    万次阅读 多人点赞 2016-09-08 21:06:16
    syms函数的功能sym函数更为强大,它可以次创建任意多个符号变量.而且,syms函数的使用格式也很简单,使用格式如下:  syms var1 var2 var3...  如:  syms x y z 区别2: syms可以直接声明符号函数d(r),并且...
  • C语言 有符号类型转换为无符号类型

    千次阅读 2019-01-04 10:55:58
    C语言中变量的类型变换比较多,有些地方需要时刻注意,不然很可能写出带有bug的代码并深埋入系统,难以...、验证有符号类型转换为无符号类型: 程序: #include &lt;stdio.h&gt; int main() { int a = -...
  • 符号数: 即没有符号的数。 在c语言中就是 unsigned 类型的。 无符号数在计算机中的存储较为简单, 因为没有符号位, 直接将数字化成二进制然后存储在对应的存储器或者寄存器中。 这时寄存器或者存储器的位数就...
  • 符号执行入门

    万次阅读 多人点赞 2018-05-09 08:12:08
    于是我找了一些符号执行领域的经典论文,预计会做系列的总结,主要包括以下几个内容:(1)符号执行的基本概念;(2)符号执行的分类与发展;(3)符号执行面临的挑战和解决方案。本文主要介绍关于符号执行的基本...
  • matlab符号系统

    千次阅读 2019-05-15 11:30:52
    matlab解决问题的最基本思路是建立脚本文件,那么脚本文件的第段就是定义一些变量,这和C语言等编程思想是一样的。matlab提供的变量类型很多,最基础的是三种:数值变量、符号变量、字符串,其他的类型还有cell、...
  • 去年的Esri大会,随着最新的ArcGIS 10.5产品的发布,全新的ArcGIS ...其实这里面我最感兴趣的是可以加载MMPK数据,MMPK是种全新的移动地图包,有很多创新和优势,总结起来是一下几点: 数据存储于压缩的Mobile
  • 专题地图符号设计与构图

    千次阅读 2019-03-20 23:37:45
    专题地图符号设计是地图编制与可视化的重点内容之符号设计应遵循的原则 符号设计应遵循多种原则,包括图案化、精确性、逻辑性、系统性、对比性和协调性、色彩的象征性、视力与制印条件、印刷与经济效果和...
  • 编译原理之符号

    千次阅读 2019-06-20 12:24:56
    文章目录符号表的作用是什么1. 收集符号属性2. 上下文语义的合法性检查的依据3. 作为目标代码生成阶段地址分配的依据二、符号表的组织方式1. 符号表分为几大栏,主键是什么?2. 什么是各项,各栏等长,说明利弊?...
  • 符号整、小数的原、反、补码表示范围,及补码原、反码多表示位的原因。计算机组成原理学习笔记。
  • LTspice

    万次阅读 多人点赞 2019-01-06 18:14:14
    LTspice使用 1.简介 这个软件是由LINEAR公司提供的...凌力尔特公司 (Linear Technology Corporation) 推出 LTspice IV ,这是其免费 SPICE 电路仿真软件 LTspice/SwitcherCADIII所做的次重大更新。 LTspice IV ...
  • 作者 孤独大兔子 使用方法: 这些字符属于unicode字符集,所以,你的文档需要声明为UTF-8;...#符号; 用于CSS文件中,但是需要用反斜杠\转义; 用于JavaScript,和CSS用法一样,不过要用\u来转义。 需要...
  • 各类常用符号

    万次阅读 多人点赞 2018-11-15 18:12:17
     如加号(+),减号(-),乘号(×或·),除号(÷或/),两个集合的并集(∪),交集(∩),根号(√),对数(log,lg,ln),(:),微分(dx),积分(∫),曲线积分(∮)等。 ...
  • 符号数与有符号数比较大小

    千次阅读 2017-04-16 18:54:07
    申明: ...在此感谢博主!先出几个题目,再解释一下为什么答案是那样的。题目:int a = -1; unsigned int b = 1;...结果输出: 1因为无符号数与有符号数比较时,要将有符号数转化为无符号数,再来比较。a 转化为
  • 在C语言中,数字常量如果没有后缀‘U'或'u',则默认为是有符号。 同类型整数之间的类型转换。...其中1024和oxff这两个常量都是有符号数,这就意味着每个赋值操作包含了个隐式的由有符号数到无符号数的类型转
  • 数学公式中符号总结

    万次阅读 2018-10-24 20:39:36
    1、几何符号 ... 如加号(+),减号(-),乘号(×或·),除号(÷或/),两个集合的并集(∪),交集(∩),根号(√),对数(log,lg,ln),(:),微分(dx),积分(∫),曲线积分(∮)...
  • 常用数学符号大全、关系代数符号

    万次阅读 2018-09-26 15:39:39
    常用数学符号大全、关系代数符号 1、几何符号  ⊥ ∥ ∠ ⌒ ⊙ ≡ ≌ △  2、代数符号  ∝ ∧ ∨ ~ ∫ ≠ ≤ ≥ ≈ ∞ ∶  3、运算符号  如加号(+),减号(-),乘号(×或·),除号(÷或/),两...
  • 个有符号的数据类型的最小值是如何计算出来的呢? 有符号的数据类型的最大值的计算方法完全和无符号一样,只不过它少了个最高位(见第3点)。但在负值 范围内,数值的计算方法不能直接使用1* 26 + 1* 25 的...
  • c语言符号大全

    万次阅读 多人点赞 2016-10-31 21:33:02
    short通常是16bits, int通常是16bits or 32bits每种编译器可以根据硬件的不同自由确定, 但是short和int必须最少是16bits, 而long类型必须最少是32bits, 并且short必须int和long类型要短。  2. sizeof() 运算符...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 462,264
精华内容 184,905
关键字:

一比一符号怎么打出来