Cisco cable modem termination systems (CMTSs) can handle modulation profiles for the RF configuration of a voice and data cable modem plant. Cisco IOS® Software is designed with a default modulation profile that is optimal in most conditions. Therefore, do not change the default configuration. However, if the modulation needs are different for the customer plant, Cisco IOS Software has the ability to customize and to configure the modulation profiles to suit the customer needs.
Caution: Only an expert, who understands modulation changes and Data-over-Cable Service Interface Specifications (DOCSIS), should modify these parameters. Otherwise, changes can cause disruption or the degradation of services because the commands affect the physical layer.
This document explains the configuration commands to change the modulation profile. The document also provides the show commands that you use to verify the configured parameters.
The CMTS Cisco IOS Software releases have one preconfigured modulation profile resident in memory, which defines a typical profile for Quadrature Phase-Shift Keying (QPSK) modulation. The Cisco uBR7100, uBR7200, and uBR10000 series CMTSs support up to eight cable modulation profiles. Profile 1 is the default.
Issue the show cable modulation-profile command in order to see the default configured parameters:
ubr7246#show cable modulation-profile Mod IUC Type Preamb Diff FEC FEC Scrambl Max Guard Last Scrambl Preamb length enco T CW seed B time CW offset BYTES size size size short 1 request qpsk 64 no 0x0 0x10 0x152 0 8 no yes 952 1 initial qpsk 128 no 0x5 0x22 0x152 0 48 no yes 896 1 station qpsk 128 no 0x5 0x22 0x152 0 48 no yes 896 1 short qpsk 72 no 0x5 0x4B 0x152 6 8 no yes 944 1 long qpsk 80 no 0x8 0xDC 0x152 0 8 no yes 936
There are no specific requirements for this document.
This document is not restricted to specific software or hardware versions.
Refer to Cisco Technical Tips Conventions for more information on document conventions.
In order to define a modulation profile, issue the cable modulation-profile global configuration command. In order to remove the specified modulation profile, issue the no cable modulation-profile command.
cable modulation-profile profile {iuc | mix | qam-16 | qpsk} fec-tbytes fec-len burst-len guard-t mod scrambler seed diff pre-len last-cw uw-len
no cable modulation-profile profile {iuc | mix | qam-16 | qpsk} fec-tbytes fec-len burst-len guard-t mod scrambler seed diff pre-len last-cw uw-len
Note: These commands should each be on one line.
Note: All these options are available in Cisco IOS Software Release 12.1(1)EC and later. In earlier releases, only the initial, long, request, short, or station options were available. There may be later releases of Cisco IOS Software Release 12.0T or 12.0SC that incorporate all the features.
Table 1 – Parameter DescriptionsParameter | Description |
---|---|
profile | Modulation profile number—Valid values are from 1 to 8, where 1 is the default modulation profile. Note: In order to use this command correctly, enter a line with all parameters for each upstream burst type. An incomplete burst profile causes unreliable operation or loss of modem connectivity. |
mix | Creates a default QPSK/16-QAM1 mix modulation profile where short and long grant bursts are sent with the use of 16-QAM, while request, initial ranging, and station maintenance bursts are sent with the use of QPSK. The burst parameters are set to their default values for each burst type. |
qam-16 | Creates a default 16-QAM modulation profile, where all bursts are sent with the use of 16-QAM. The burst parameters are set to their default values for each burst type. |
qpsk | Creates a default QPSK modulation profile, where all bursts are sent with the use of QPSK. The burst parameters are set to their default values for each burst type. |
fec-tbytes | The number of bytes that can be corrected per the FEC2 code word—Valid values are from 0 to 10, where 0 means no FEC. This is the number of bytes that the FEC decoder can correct within a code word. A code word consists of information bytes (k bytes) and parity bytes for error correction. The number of parity bytes is equal to two times the number of correctable errors (T). The size of T is dictated by channel impairments. |
fec-len | FEC code word information bytes length—Valid values are from 16 to 253 bytes. This value specifies the number of information bytes (k bytes) per FEC code word. |
burst-len | Maximum burst length in minislots—Valid values are from 0 to 255, where 0 means no limit. This is used to determine the breakpoint between packets that use the short data grant burst profile and packets that use the long data grant burst profile. If the required upstream time to transmit a packet is greater than this value, the long data grant burst profile is used. If the time is less than or equal to this value, the short data grant burst profile is used. |
guard-t | Guard time in symbols—The time between successive bursts. Valid values are from 0 to 255 symbols. This is the blank time at the end of a burst transmission that exists to ensure that one burst ends before another burst starts. |
mod | Modulation—Valid options are 16qam and qpsk. Modulation type is used to select between 4 bits per modulation symbol (16-QAM) or 2 bits per modulation symbol (QPSK). 16-QAM uses both phase and amplitude to carry information. QPSK carries information in the phase of the signal carrier. 16-QAM requires approximately 7 dB3 higher C/N4 in order to achieve the same BER5 as QPSK. But 16-QAM transfers information at two times the rate of QPSK. |
scrambler | Enable or disable scrambler—Valid options are scrambler and no-scrambler. Scrambler is used to create an almost random sequence of transmission symbols, which ensures an even spectral distribution of energy that is transmitted within the channel. The scrambler seed is an initial value that is used to start the pseudorandomizer to scramble the bits. Because both the transmitter and the receiver know the seed value, the scrambling can be reversed at the receiver to leave only the original data. |
seed | Scrambler seed, in hexadecimal format—Valid values are from 0x0000 to 0x7FFF. |
diff | Enable or disable differential encoding—Valid options are diff and no-diff. Differential encoding is a technique wherein the information is transmitted by the phase change between two modulation symbols instead of by the absolute phase of a symbol. This technique makes the absolute phase of the received signal insignificant and effectively doubles the BER for the same C/N. |
pre-len | Preamble length in bits—Valid values are from 2 to 128. Preamble length (and preamble offset) are used to define a synchronizing string of modulation symbols, which lets the receiver find the phase and timing of the transmitted burst. |
last-cw | How FEC is handled for last code word—Valid options are fixed for fixed code-word length and shortened for shortened last code word. |
uw-len | Upstream unique word length—Valid options are uw8 for 8-bit unique words or uw16 for 16-bit unique code words. |
1 QAM = quadrature amplitude modulation
2 FEC = forward error correction
3 dB = decibels
4 C/N = carrier-to-noise
5 BER = bit error rate
The default is modulation profile 1.
The command mode is global configuration.
Table 2 – Command HistoryCisco IOS Software Release | Modification |
---|---|
11.3 NA | This command was introduced. |
12.0(7)XR2 | This command was used. |
12.0(6)SC and 12.1(3a)EC1 | The mix, qpsk and 16qam options were added. |
A modulation profile is a collection of six burst profiles that are sent out in an Upstream Channel Descriptor (UCD) message. These profiles configure modem transmit parameters for these upstream message types:
Request
Initial maintenance
Station maintenance
Short grant
Long grant
You can issue the no cable modulation-profile command in order to remove all modulation profiles except the default modulation profile 1. In the case of modulation profile 1, the no cable modulation-profile command sets all the parameters in a burst to default values.
Caution: Changes to modulation profiles cause changes to the physical layer. Because changes to physical layer characteristics affect router performance and function, have only an expert user handle this task.
In order to use the cable modulation-profile command correctly, enter a line with all parameters for each upstream burst type. An incomplete burst profile causes unreliable operation or loss of modem connectivity.
Caution: If you turn off the scrambler, you can cause packet loss. Therefore, turn the scrambler off only in lab test environments.
Errors or incompatible configurations in the burst profiles cause modems to either:
Drop connectivity
Drop short or long data packets
Fail to connect to the network
It is possible to build a burst profile set for which no implementation of a DOCSIS receiver can receive the transmissions of the modem.
The data rates of 160 K symbol/second and 2560 K symbol/second are highly sensitive to unique word length, preamble length, and FEC sizing. Incorrect choices for these values can cause poor or no connectivity at these symbol rates.
The example in this section is a modulation profile for mixed modulation. The initial, request, and station maintenance messages are sent as QPSK, and the short and long data packets are sent as 16-QAM. 16-QAM modulation is more bandwidth-efficient than QPSK, but QPSK is more robust than 16-QAM.
In this example, the request burst has these values by definition:
fec-tbytes: 0
fec-len: 16 KB
burst-len: 1
guard-t: 8
mod: qpsk
Scrambler enabled
seed: 152
Differential encoding disabled
pre-len: 64 bits
last-cw: fixed
uw-len: uw8
The remaining initial, station, short, and long bursts are defined in similar fashion for profile 2.
ubr7246#configure terminal Enter configuration commands, one per line. End with CNTL/Z. ubr7246(config)#cable modulation-profile 2 request 0 16 1 8 qpsk scrambler 152 no-diff 64 fixed uw8 ubr7246(config)#cable modulation-profile 2 initial 5 34 0 48 qpsk scrambler 152 no-diff 128 fixed uw16 ubr7246(config)#cable modulation-profile 2 station 5 34 0 48 qpsk scrambler 152 no-diff 128 fixed uw16 ubr7246(config)#cable modulation-profile 2 short 6 75 6 8 16qam scrambler 152 no-diff 144 fixed uw8 ubr7246(config)#cable modulation-profile 2 long 8 220 0 8 16qam scrambler 152 no-diff 160 fixed uw8 ubr7246(config)#^Z ubr7246#
Note: The commands in this output should each be on one line.
Note: Use the modulation profile command in order to create all the bursts (request, initial, station, short, and long) for this modulation profile. If you fail to do so, you can cause performance problems or service interruption.
This example uses this equipment:
Table 2 – Configuration Example EquipmentName | Model | Usage | Software Version | Image Name |
---|---|---|---|---|
Cable Head End Station | uBR7246 | CMTS | Cisco IOS Software Release 12.1(1a) | ubr7200-ik1st-mz.121-1a.T1 |
Home Office | uBR924 | Cable Modem | Cisco IOS Software Release 12.2(1) | ubr920-k8o3v6y5-mz.122-1.bin |
PC | DHCP Server | WinNT1 Server 4.0 | Cisco Network Registrar 3.5 | |
TFTP Server | WinNT Server 4.0 | Cisco TFTP | ||
ToD2 Server | WinNT Server 4.0 | Any NTP3 or ToD server |
1 WinNT = Microsoft Windows NT
2 ToD = Time of Day
3 NTP = Network Time Protocol
This example configuration shows the entire configuration of the uBR7246. The commands that appear in boldface are the commands that are relevant to the configuration of modulation profiles:
uBR7246 Configuration |
---|
ubr7246#show run Building configuration... Current configuration: ! version 12.1 no service pad service timestamps debug uptime service timestamps log uptime no service password-encryption service compress-config ! hostname ubr7246 ! enable password ww ! cable modulation-profile 2 request 0 16 1 8 qpsk scrambler 152 no-diff 64 fixed uw8 cable modulation-profile 2 initial 5 34 0 48 qpsk scrambler 152 no-diff 128 fixed uw16 cable modulation-profile 2 station 5 34 0 48 qpsk scrambler 152 no-diff 128 fixed uw16 cable modulation-profile 2 short 6 75 6 8 16qam scrambler 152 no-diff 144 fixed uw8 cable modulation-profile 2 long 8 220 0 8 16qam scrambler 152 no-diff 160 fixed uw8 !--- Note: These commands should each be on one line. no cable qos permission create no cable qos permission update cable qos permission modems cable time-server ! ! ! ! ip subnet-zero no ip domain-lookup ! interface Ethernet2/0 ip address 172.16.30.20 255.255.255.192 ! interface Cable3/0 ip address 192.168.5.1 255.255.255.0 secondary ip address 10.2.3.1 255.255.255.0 no keepalive cable downstream rate-limit token-bucket shaping cable downstream annex B cable downstream modulation 256qam cable downstream interleave-depth 32 cable upstream 0 frequency 20000000 cable upstream 0 power-level 0 cable upstream 0 modulation-profile 2 no cable upstream 0 shutdown cable upstream 1 shutdown cable upstream 2 shutdown cable upstream 3 shutdown cable upstream 4 shutdown no cable upstream 5 shutdown cable source-verify dhcp cable dhcp-giaddr policy cable helper-address 172.16.30.3 ! ip classless ip route 0.0.0.0 0.0.0.0 172.16.30.1 no ip http server ! ! line con 0 transport input none line aux 0 line vty 0 4 password ww login tacacs ! end |
In order to be complete, this document also shows the configuration of one of the uBR924 cable modems. This is the basic bridge configuration that the cable modems receive after they come on line and obtain an IP address from the DHCP server:
uBR924 Configuration |
---|
uBR924-445b#show run Building configuration... version 12.2 no service single-slot-reload-enable no service pad service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname uBR924-445b ! logging rate-limit console 10 except errors ! clock timezone - -8 ip subnet-zero no ip routing no ip finger ! ip audit notify log ip audit PO max-events 100 no ip dhcp-client network-discovery call RSVP-sync ! ! ! interface Ethernet0 ip address 10.2.3.3 255.255.255.0 no ip route-cache bridge-group 59 bridge-group 59 spanning-disabled ! interface cable-modem0 no ip route-cache bridge-group 59 bridge-group 59 spanning-disabled h323-gateway voip interface h323-gateway voip id 3620-gk ipaddr 172.16.30.5 1718 h323-gateway voip h323-id test2 ! ip classless ip http server no ip http cable-monitor ! snmp-server packetsize 4096 snmp-server manager ! voice-port 0 input gain -2 output attenuation 0 ! voice-port 1 input gain -2 output attenuation 0 ! dial-peer voice 1 pots destination-pattern 3333 port 0 ! dial-peer voice 2 pots destination-pattern 4444 port 1 ! dial-peer voice 10 voip destination-pattern 1111 session target ras ! gateway ! ! line con 0 transport input none line vty 0 4 ! end |
In order to simplify the definition of new modulation profiles, you can use the cable modulation-profile command. This command quickly creates a complete modulation profile on the basis of one of three predefined templates. These are the three templates:
qpsk—This template is a modulation profile that is optimized for all interval usage codes (IUCs) to use QPSK.
qam-16—This template is a modulation profile that is optimized for all IUCs to use 16-QAM.
Note: Cisco does not recommend the use of this modulation profile.
mix—This template is a modulation profile that is optimized to use 16-QAM for data traffic and QPSK for maintenance and request traffic.
Use mix in order to gain the robustness of QPSK for maintenance traffic and the speed of 16-QAM for data traffic. In order to create a new modulation profile that uses one of these templates, issue the cable modulation-profile command. These sections of this document show the use of the cable modulation-profile command:
In order to configure a CMTS with the QPSK template, issue the cable modulation-profile profile qpsk command in global configuration. This output shows the use of the command:
ubr7246#configure terminal Enter configuration commands, one per line. End with CNTL/Z. ubr7246(config)#cable modulation-profile 2 qpsk ubr7246(config)#end
After you issue this command, the CMTS loads all the preconfigured settings for this profile. These settings appear in the configuration:
ubr7246#show run | include modulation-profile 2 cable modulation-profile 2 request 0 16 0 8 qpsk scrambler 152 no-diff 64 fixed uw8 cable modulation-profile 2 initial 5 34 0 48 qpsk scrambler 152 no-diff 128 fixed uw16 cable modulation-profile 2 station 5 34 0 48 qpsk scrambler 152 no-diff 128 fixed uw16 cable modulation-profile 2 short 5 75 6 8 qpsk scrambler 152 no-diff 72 fixed uw8 cable modulation-profile 2 long 8 220 0 8 qpsk scrambler 152 no-diff 80 fixed uw8
Note: Notice that all the IUCs were built automatically with QPSK modulation.
Note: After you issue the cable modulation-profile profile {mix | qam-16 | qpsk} command, you can manually alter some of the parameters.
In order to configure a CMTS with the 16-QAM template, issue the cable modulation-profile profile qam-16 command in global configuration. This output shows the use of the command:
ubr7246#configure terminal Enter configuration commands, one per line. End with CNTL/Z. ubr7246(config)#cable modulation-profile 3 qam-16 ubr7246(config)#end
After you issue this command, the CMTS loads all the preconfigured settings for this profile. These settings appear in the configuration:
ubr7246#show run | include modulation-profile 3 cable modulation-profile 3 request 0 16 0 8 16qam scrambler 152 no-diff 128 fixed uw16 cable modulation-profile 3 initial 5 34 0 48 16qam scrambler 152 no-diff 256 fixed uw16 cable modulation-profile 3 station 5 34 0 48 16qam scrambler 152 no-diff 256 fixed uw16 cable modulation-profile 3 short 6 75 6 8 16qam scrambler 152 no-diff 144 fixed uw8 cable modulation-profile 3 long 8 220 0 8 16qam scrambler 152 no-diff 160 fixed uw8
There is a more efficient template, which combines QPSK and 16-QAM modulation profiles and is more robust at a higher speed.
In order to configure a CMTS with the mixed template, issue the cable modulation-profile profile mix command in global configuration. This output shows the use of the command:
ubr7246#configure terminal Enter configuration commands, one per line. End with CNTL/Z. ubr7246(config)#cable modulation-profile 4 mix ubr7246(config)#end
After you issue this command, the CMTS loads all the preconfigured settings for this profile. These settings appear in the configuration:
ubr7246#show run | include modulation-profile 4 cable modulation-profile 4 request 0 16 0 8 qpsk scrambler 152 no-diff 64 fixed uw16 cable modulation-profile 4 initial 5 34 0 48 qpsk scrambler 152 no-diff 128 fixed uw16 cable modulation-profile 4 station 5 34 0 48 qpsk scrambler 152 no-diff 128 fixed uw16 cable modulation-profile 4 short 6 75 6 8 16qam scrambler 152 no-diff 144 fixed uw8 cable modulation-profile 4 long 8 220 0 8 16qam scrambler 152 no-diff 160 fixed uw8
Note: Notice that the short and long IUCs use 16-QAM. The request, initial, and station use QPSK.
Note: The default unique word setting for long and short IUCs in the mixed profile is unique word 8 (UW8). Cisco recommends the use of UW16. The use of a longer UW helps in noisy situations and reduces uncorrectable FEC error generation.
Issue the cable modulation-profile profile command in order to change the unique word from UW8 to UW16. This is the output of show run | include modulation-profile 4 command after you change the unique word from UW8 to UW16:
ubr7246#show run | include modulation-profile 4 cable modulation-profile 4 request 0 16 0 8 qpsk scrambler 152 no-diff 64 fixed uw16 cable modulation-profile 4 initial 5 34 0 48 qpsk scrambler 152 no-diff 128 fixed uw16 cable modulation-profile 4 station 5 34 0 48 qpsk scrambler 152 no-diff 128 fixed uw16 cable modulation-profile 4 short 6 75 6 8 16qam scrambler 152 no-diff 144 fixed uw16 cable modulation-profile 4 long 8 220 0 8 16qam scrambler 152 no-diff 160 fixed uw16
The section The show cable modulation-profile Command details the use of the show cable modulation-profile command. Issue this command after you configure modulation profiles in order to ensure that the CMTS correctly understood all the parameters.
In order to assign a modulation profile to an interface, issue the cable upstream n modulation-profile interface configuration command. In order to assign the default primary modulation profile (profile 1) to the interface, issue the no cable upstream n modulation-profile interface command.
cable upstream n modulation-profile primary-profile-number [secondary-profile-number]
no cable upstream n modulation-profile primary-profile-number [secondary-profile-number]
Parameter | Description |
---|---|
n | Port number on the cable modem slot Port numbers begin with a 0. |
primary-profile number | Default modulation profile that is added to the interface |
secondary-profile number | Additional modulation profile that is added to the interface |
The default is the primary modulation profile (profile 1).
The command mode is interface configuration.
Table 5 – Command HistoryCisco IOS Software Release | Modification |
---|---|
11.3 NA | This command was first introduced. |
12.0(7)XR2 and 12.1(1a)T1 | This command was introduced into the Cisco IOS Software Release 12.x trains. |
12.1(3a)EC1 | This command was modified to add the primary-profile-number and secondary-profile-number parameters in order to enable the Dynamic Upstream Modulation feature. |
12.1(5)EC | This command was introduced for the Cisco uBR7100 series universal broadband routers. |
12.1(7)CX | This command was enhanced for the Cisco uBR-MC16S line card. |
You can configure modulation profiles with fixed upstream frequencies or on interfaces with assigned spectrum groups. The Dynamic Upstream Modulation feature uses modulation profiles in order to track upstream signal quality. The feature checks that the upstream signal can support the configured modulation scheme and adjusts to a more robust modulation scheme, if necessary. When return path conditions improve, the feature returns the upstream channel to the higher modulation scheme.
When you configure Dynamic Upstream Modulation and spectrum groups on the same interface, Cisco uBR-MC1xC and Cisco uBR-MC16S cable modem cards attempt corrective actions in this order:
Modulation switchover
Frequency hopping
Channel width reduction
This example assigns the primary modulation profile 2 and the secondary modulation profile 1 to port (interface) 0:
Router(config-if)#cable upstream 0 modulation-profile 2 1
The syntax for this command is show cable modulation-profile [profile] [iuc-code] .
Table 6 – Parameter DescriptionsParameter | Description |
---|---|
profile | (Optional) Profile number—Valid values are from 1 to 8. |
iuc-code | (Optional) Internal usage code—Valid options are:
|
There is no default behavior nor default values.
The command mode is privileged EXEC.
Table 7 – Command HistoryCisco IOS Software Release | Modification |
---|---|
11.3 XA | This command was first introduced. |
12.(0)7XR2 | This command was used. |
12.1(3a)EC1 | This command was supported and the reqdata type was added. |
The show cable modulation-profile command displays modulation profile group information. A modulation profile is a collection of six burst profiles that are sent out in a UCD message. These profiles configure modem transmit parameters for these upstream message types:
Request
Reqdata
Initial maintenance
Station maintenance
Short grant
Long grant
This is sample output from the show cable modulation-profile command:
ubr7246#show cable modulation-profile 1 Mod IUC Type Preamb Diff FEC FEC Scrambl Max Guard Last Scrambl Preamb length enco T CW seed B time CW offset BYTES size size size short 1 request qpsk 64 no 0x0 0x10 0x152 1 8 no yes 952 1 initial qpsk 128 no 0x5 0x22 0x152 0 48 no yes 896 1 station qpsk 128 no 0x5 0x22 0x152 0 48 no yes 896 1 short qpsk 72 no 0x5 0x4B 0x152 6 8 no yes 944 1 long qpsk 80 no 0x8 0xDC 0x152 0 8 no yes 936
This table describes the fields that display in the show cable modulation-profile command output:
Table 8 – Field DescriptionsField | Description |
---|---|
Mod | Modulation profile group number A modulation profile group is the set of burst profiles that define upstream transmit characteristics for the various types of upstream transmission classes. |
IUC | Internal usage code Each upstream transmit burst belongs to a class, which is given a number that is called the IUC. Bandwidth maps messages by IUC codes that are used to allocate upstream time slots. These types are currently defined:
|
Type | Modulation type |
Preamb length | Preamble length |
Diff enco | Differential encoding enabled (yes) or not enabled (no) |
FEC T bytes | Number of bytes that can be corrected for each FEC code word |
FEC k bytes | The number of information bytes within an FEC code word |
FEC CW size | Size, in bytes, of the post-FEC code word This is typically k + 2T bytes, or the number of FEC Information Bytes (k) plus two times the number of bytes that can be corrected within each FEC code word (T). |
Scrambl seed | Scrambler seed value, in hexadecimal format |
Max B size | Maximum burst size |
Guard time size | Time, in symbols, between successive bursts |
Last CW short | Handling of FEC for shortened last code word |
Scrambl | Scrambler enabled (yes) or not enabled (no) |
Preamb offset | The preamble value bits |
In order to verify that the modulation profile that you configured has the correct parameters, issue the show cable modulation-profile command for profile 2.
ubr7246#show cable modulation-profile 2 Mod IUC Type Preamb Diff FEC FEC Scrambl Max Guard Last Scrambl Preamb length enco T CW seed B time CW offset BYTES size size size short 2 request qpsk 64 no 0x0 0x10 0x152 1 8 no yes 440 2 initial qpsk 128 no 0x5 0x22 0x152 0 48 no yes 384 2 station qpsk 128 no 0x5 0x22 0x152 0 48 no yes 384 2 short qam 144 no 0x6 0x4B 0x152 6 8 no yes 864 2 long qam 160 no 0x8 0xDC 0x152 0 8 no yes 848